ข้อความนี้จะปรากฏขึ้นเมื่อฉันเข้าสู่ระบบของฉัน ...
There is 1 zombie process.
- มันบอกอะไรฉัน
- นี่คือสิ่งที่ฉันควรกังวลหรือไม่
- ถ้าใช่ฉันควรทำอย่างไรและอย่างไร?
ข้อความนี้จะปรากฏขึ้นเมื่อฉันเข้าสู่ระบบของฉัน ...
There is 1 zombie process.
คำตอบ:
ไม่มีอะไรต้องกังวลเกี่ยวกับ:
ซอมบี้
บนระบบปฏิบัติการ Unix กระบวนการ zombie หรือกระบวนการ defunct เป็นกระบวนการที่เสร็จสิ้นการดำเนินการ แต่ยังคงมีรายการในตารางกระบวนการเพื่อให้กระบวนการที่เริ่มต้นเพื่ออ่านสถานะการออก ในคำอุปมาที่มีสีสันของคำว่ากระบวนการของเด็กเสียชีวิต แต่ยังไม่ได้รับการเก็บเกี่ยว
เมื่อกระบวนการสิ้นสุดหน่วยความจำและทรัพยากรทั้งหมดที่เกี่ยวข้องจะถูกจัดสรรคืนดังนั้นจึงสามารถใช้กระบวนการอื่นได้ อย่างไรก็ตามรายการของกระบวนการในตารางกระบวนการยังคงอยู่ ผู้ปกครองจะส่งสัญญาณ SIGCHLD เพื่อระบุว่าเด็กเสียชีวิต ตัวจัดการสำหรับสัญญาณนี้โดยทั่วไปจะดำเนินการเรียกใช้ระบบรอซึ่งอ่านสถานะทางออกและลบซอมบี้ ID กระบวนการและรายการของซอมบี้ในตารางกระบวนการสามารถนำกลับมาใช้ใหม่ได้ อย่างไรก็ตามหากผู้ปกครองไม่สนใจ SIGCHLD ซอมบี้จะถูกทิ้งไว้ในตารางกระบวนการ ในบางสถานการณ์สิ่งนี้อาจเป็นที่ต้องการตัวอย่างเช่นถ้าพาเรนต์สร้างกระบวนการลูกใหม่จะทำให้แน่ใจได้ว่ามันจะไม่ได้รับการจัดสรร ID กระบวนการเดียวกัน
ที่มา: http://wiki.answers.com/Q/What_is_Zombie_Process_and_Orphan_Process
ตามที่อธิบายไว้ในคำตอบที่ยอมรับคุณมีกระบวนการที่ดำเนินการเสร็จสมบูรณ์ แต่ยังอยู่ในตารางกระบวนการ: https://serverfault.com/a/390216/48449
สิ่งนี้ไม่ควรทำให้เกิดอันตรายหากเป็นเพียงกระบวนการเดียว แต่ก็ยังไม่ควรเกิดขึ้น หากมีจำนวนมากเกินไปและคุณไม่รีบูตหรือรีสตาร์ทกระบวนการหลักที่ทำให้เกิดปัญหานั้นคุณสามารถเข้าถึงกระบวนการที่ได้รับอนุญาตถึงจำนวนสูงสุดและทำให้เกิดปัญหาร้ายแรง
หากต้องการทราบว่ากังวลมีความเหมาะสมหรือไม่และกระบวนการอื่นเป็นของผีดิบสิ่งนี้ใช้ได้กับฉัน:
ps -elf --forest | grep -C5 '<[d]efunct>'
เพิ่มจำนวนบรรทัดบริบทหากจำเป็นเพื่อค้นหาข้อมูลเกี่ยวกับกระบวนการพาเรนต์ให้แก้ไขกระบวนการนั้นเพื่อให้ "เก็บเกี่ยวใหม่" กระบวนการย่อยที่สิ้นสุด