วิธีที่ดีที่สุดในการฆ่ากระบวนการ Zombie และ D ใน linux


คำตอบ:


19

แตะสองครั้ง.

ที่จริงแล้วเริ่มต้นใหม่ ไม่มีทางที่จะกำจัดซอมบี้ได้อย่างง่ายดาย แต่ไม่มีเหตุผลจริงๆเพราะซอมบี้ไม่ได้ใช้ทรัพยากรในคอมพิวเตอร์ มันเป็นรายการที่ถูกโยงถึงในตารางกระบวนการ ตอนแรกควรจะรวบรวมมัน แต่มีบางอย่างผิดปกติกับกระบวนการ http://en.wikipedia.org/wiki/Zombie_process

บางทีคุณอาจจะถามเพราะมีปัญหาที่เลวร้ายยิ่งขึ้น ... คุณได้รับซอมบี้จำนวนมากแล่นเข้ามาในตารางกระบวนการของคุณหรือไม่? นั่นหมายถึงข้อผิดพลาดในโปรแกรมหรือปัญหาเกี่ยวกับการกำหนดค่า คุณไม่ควรมีซอมบี้จำนวนมากในระบบ หนึ่งหรือสองฉันไม่ต้องกังวล หากคุณมีห้าสิบจาก Apache หรือภูตอื่น ๆ คุณอาจมีปัญหา แต่นั่นไม่เกี่ยวข้องโดยตรงกับคำถามของคุณ ...


1
มีกระบวนการซอมบี้ประมาณ 10 ตัว
vnix27

กระบวนการคืออะไร?
Bart Silverstrim

15
/sbin/reboot

คุณไม่สามารถฆ่าซอมบี้ - มันตายไปแล้ว

หาก ppid ยังคงมีอยู่ให้ยุติการทำงานที่สามารถล้างซอมบี้ที่วางไข่ได้บ่อยครั้ง

คุณไม่ควรฆ่ากระบวนการในโหมดสลีปที่ไม่สามารถขัดจังหวะได้ - โดยปกติหมายถึงพวกมันถูกผูกไว้กับ i / o แต่ IIRC นั้นสามารถเกิดขึ้นได้ในระหว่างการบล็อกการอ่านจากซ็อกเก็ตเครือข่าย


10

ข้อผิดพลาดในระบบไฟล์หรือดิสก์พื้นฐานอาจทำให้ I / O กระบวนการที่ถูกผูกไว้ ในกรณีนี้ให้ลอง "umount -f" ระบบไฟล์ที่พวกเขาพึ่งพาซึ่งจะยกเลิกการร้องขอ I / O ที่ค้างอยู่ที่เปิดอยู่


2
และสูญเสียข้อมูล ดูเหมือนจะไม่เป็นความคิดที่ดี
Michael Hampton

5
คุณสูญเสียข้อมูลโดยการรีบูต วิธีนี้คุณอาจหลีกเลี่ยงการรีบูต - คุณลักษณะที่มีประโยชน์ในระบบการผลิตหรือการพัฒนา
Arie Skliarouk

2
ขอบคุณสิ่งนี้ใช้ได้กับปัญหาที่เรามีเมื่อสคริปต์ติดอยู่พยายามเข้าถึงการติดตั้ง NFS ที่หายไปเป็นเวลาหลายสัปดาห์ :)
BT643

1
นี่คือสิ่งที่เกิดขึ้นกับฉันบางครั้งเมื่อฉันทำlsคำสั่งบนภูเขา s3fs lsกระบวนการจะไม่ฆ่าแม้จะมีจนกว่าฉันจะบังคับให้ยกเลิกการต่อเชื่อมกับkill -9 umount -lทางเลือกอื่นในการติดตั้ง?
Marco Marsala

2
ตอนนี้กระบวนการเมานท์ของฉันถูกแขวนเหมือนเป็นซอมบี้ "D +" STAT!
Curtis Yallop
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.