Bir sürecin zombiye dönüşmesi için ebeveyn sürecinden hangi durumu alması gerekir?
sobes.tech yapay zeka
AI'dan gelen yanıt
İşlem, tamamlandığında ( EXIT_ZOMBIE durumuna geçer), ancak işlem tablosundaki kaydı hala var olan ve ebeveyn işleminin wait() veya waitpid() sistem çağrısı ile son durumunu okumasını bekleyen "zombi" veya "hayalet işlem" haline gelir. Bu noktaya kadar, minimum kaynak kullanır (neredeyse sadece işlem tablosundaki kayıt), ancak ilişkili kaynakları tamamen serbest bırakmaz.
İşlem tablosunda böyle bir işlem genellikle <defunct> göstergesiyle gösterilir.
# Zombi işlemi gösteren ps komutunun örnek çıktısı
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
...
someuser 1234 0.0 0.0 0 0 pts/0 Z+ 10:00 0:00 [defunct_process]
...
Zombi işleminin kaybolması için ebeveyn işleminin wait() veya waitpid() çağrısı yapması gerekir. Eğer ebeveyn işlem, zombi çocuklarının durumunu okumadan önce sona ererse, bu çocuklar init işleminin (ID 1) çocukları haline gelir ve init otomatik olarak wait() çağrısı yaparak zombileri temizler.
Bir işlemin zombi olabilmesi için ebeveyninden aldığı ana durum, ebeveynin henüz wait* çağrılarıyla işlemi tamamlamamış olmasıdır.