กระบวนการหรือเธรดของซอมบี้คืออะไร


11

กระบวนการหรือเธรดของซอมบี้คืออะไรและสร้างขึ้นมาอย่างไร ฉันเพิ่งจะฆ่าพวกเขาหรือฉันจะทำอะไรบางอย่างเพื่อรับการวินิจฉัยเกี่ยวกับวิธีการที่พวกเขาตาย?


13
คุณตัดหัวของพวกเขา หรือคุณเผาพวกเขา นั่นเป็นวิธีเดียว
Simon Bergot

"Beat 'em หรือ burn' em พวกเขาขึ้นง่าย ๆ " ...
TMN

คำตอบ:


17

กระบวนการหรือเธรดของซอมบี้คืออะไรและสร้างขึ้นมาอย่างไร

กระบวนการซอมบี้เป็นกระบวนการที่ตายแล้ว
ระบบปฏิบัติการกำลังเก็บข้อมูลไว้เพื่อที่ผู้ปกครองจะสามารถตรวจสอบรหัสออกของกระบวนการได้ในเวลาต่อมาระบบปฏิบัติการจะเก็บข้อมูลเกี่ยวกับสิ่งเหล่านั้น

ฉันเพิ่งจะฆ่าพวกเขา

ไม่พวกเขาตายไปแล้ว
ระบบปฏิบัติการจะล้างข้อมูลเมื่อผู้ปกครองเสียชีวิตหรือรับรหัสสถานะจากระบบปฏิบัติการ

หรือฉันสามารถทำบางสิ่งเพื่อรับการวินิจฉัยเกี่ยวกับวิธีที่พวกเขาตาย

ไม่พาเรนต์สามารถทำได้ แต่ไม่ใช่เชลล์


4

เธรดซอมบี้คือเธรดที่ยกเลิกการทำงาน แต่ไม่สิ้นสุดอย่างสมบูรณ์ มันจัดสรรคืนทรัพยากรที่ใช้โดยเธรด แต่เก็บรายการในตารางเธรด / กระบวนการ

ในทางทฤษฎีแล้วเธรดซอมบี้ออกจากสถานะนี้โดยเรียกใช้งาน _join (POSIX) หมายความว่าเมื่อหลักของคุณเสร็จสิ้นกระบวนการซอมบี้จะถูกฆ่าด้วยโปรแกรม


2

กระบวนการ zombie เป็นกระบวนการที่ยุติการทำงานทั้งสองและถูกลบออกจากรายการกระบวนการที่กำหนดไว้แต่ยังไม่ถูกลบ ขึ้นอยู่กับระบบปฏิบัติการ tt อาจจะหรืออาจยังไม่ได้กำหนดทรัพยากรต่าง ๆ ให้และอาจถูกสอบถาม แต่มันจะไม่ทำงาน

OS'es บางตัว (โดยการออกแบบ) ไม่ได้รับอนุญาตให้สร้างหรือลบทรัพยากรแบบไดนามิกนอกเหนือจากจุดเหตุการณ์ที่แน่นอน (ตัวอย่างเช่น VxWorks Cert) ระบบดังกล่าวมักจะแก้ไขข้อ จำกัด นี้ได้ด้วยการใช้พูลที่จัดสรรไว้ล่วงหน้าของทรัพยากรที่พวกเขาเรียกคืนและส่งคืนรายการ อย่างไรก็ตามเมื่อกระบวนการในระบบดังกล่าวสิ้นสุดลงจะไม่สามารถลบได้และจะกลายเป็นzombified (ยกเลิกและลบออกจากรายการกำหนดเวลา)

หวังว่านี่จะช่วยได้


0

เมื่อเธรด / กระบวนการถูกฆ่า แต่ยังมีระเบียนในตารางที่เกี่ยวข้องเกี่ยวกับมันจะกลายเป็นซอมบี้

สิ่งนี้สามารถเกิดขึ้นได้เมื่อตัวอย่างเช่นกระบวนการหลักสร้างกระบวนการลูก แต่สิ้นสุดก่อนลูก เมื่อกระบวนการย่อยสิ้นสุดลงระบบจะแจ้งให้ผู้ปกครองทราบถึงการยกเลิก หลังจากนั้นบันทึกของกระบวนการลูกจะถูกลบออกจากตารางที่เกี่ยวข้อง แต่มันเป็นผู้ปกครองได้ยกเลิกไปแล้วดังนั้นบันทึกยังคงอยู่ในตาราง

ไม่มีทางที่จะกำจัดซอมบี้ได้ แต่รีบูตเครื่อง


1
ไม่จำเป็นต้องบูตเครื่องใหม่ เพียงแค่ฆ่ากระบวนการผู้ปกครองและซอมบี้จะถูกทำความสะอาดโดยระบบโดยอัตโนมัติ
Kevin Panko
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.