Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

กระบวนการซอมบี้และเด็กกำพร้าใน Linux


รายละเอียดเกี่ยวกับกระบวนการซอมบี้ เด็กกำพร้า และภูตมีดังต่อไปนี้

กระบวนการซอมบี้

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

ไดอะแกรมที่แสดงการสร้างและยุติกระบวนการซอมบี้มีดังนี้

กระบวนการซอมบี้และเด็กกำพร้าใน Linux

กระบวนการ Zombie ไม่ได้ใช้ทรัพยากรระบบใดๆ แต่ยังคงรักษา ID กระบวนการไว้ หากมีกระบวนการซอมบี้จำนวนมาก ID กระบวนการที่มีอยู่ทั้งหมดจะถูกผูกขาดโดยพวกเขา ซึ่งจะป้องกันไม่ให้กระบวนการอื่นๆ ทำงาน เนื่องจากไม่มี ID กระบวนการ

กระบวนการเด็กกำพร้า

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

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

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