Zombi Süreci Nedir:
Bu, sona eren bir süreçtir, ancak süreç tanımlayıcısı bellekte kaldığı için tamamı bellekten hemen çıkarılmaz.
Bir İşlemin Normal Davranışı Ne Olmalıdır:
Bir işlem sona erdiğinde, işlemin durumu şu şekilde olur:
EXIT_ZOMBIE
ve sürecin ebeveynine, çocuk sürecinin öldüğü bildirilir.
SIGCHLD
sinyal.
Ana işlemin daha sonra
wait()
Sistem çağrısının ölü işlemin çıkış durumunu ve diğer bilgileri okuması için. Sonra
wait()
denir, zombi işlemi bellekten kaldırılır. Bu hızlı bir şekilde gerçekleşir, böylece sisteminizde biriken zombi işlemleri görmezsiniz. Ancak birkaç zombi işleminin biriktiğini gördüğümüz durumlarda, bu program kodunun verimli olmadığı bir durumdur.
Bir zombi süreci nasıl bulunur:
Komutu çalıştırma
top
Komutu çalıştırma
ps -ef | grep defunct
Biriken Zombi İşlemleri Nasıl Sonlandırılır:
Çoğu zaman, zombi işlemleri aynı ana işlem kimliğine sahiptir.
İşlemi kaldırmanın iki yöntemi vardır:
- Gönder
SIGCHLD
ana sürece sinyal.
Bu sinyal, ana işleme wait()
Sistem Zombi Çocuklarını Çağırır ve Temizler:
kill -s SIGCHLD <PPID>
Example:
kill -s SIGCHLD 2201
- Zombi ebeveyn sürecini öldür
kill -9 <PPID>
Example:
kill -9 2201