Zombiler DEAD işlemleridir. Onlar 'öldür' olamazlar (DEAD'ı öldüremezsin). Sonunda tüm süreçler ölür ve yaptıklarında zombiler haline gelirler. Neredeyse hiç kaynak tüketmiyorlar, çünkü bunlar ölmek üzere! Zombilerin nedeni zombinin ebeveyni (süreci) zombinin çıkış durumunu ve kaynak kullanım istatistiklerini alabilmesidir. Ebeveyn, işletim sistemine artık wait () sistem çağrılarından birini kullanarak zombiye ihtiyaç duymadığını bildirir.
Bir süreç öldüğü zaman, çocuk süreçlerinin tümü init süreç olan 1 numaralı işlemin çocukları olur. Init “her zaman”, çocukların ölmesini bekler, zombiler olarak kalmazlar.
Zombi işlemleriniz varsa, bu zombilerin ebeveynleri tarafından beklenmediği anlamına gelir (gösterilen PPID'ye bakın ps -l
). Üç seçeneğiniz var: Üst süreci düzelt (beklet); ebeveyni öldür; ya da onunla yaşa. Onunla yaşamanın o kadar da zor olmadığını unutmayın, çünkü zombiler ps çıkışında birden fazla fazladan satır tutar.
Unix ps komutunun çıktısında Zombiler STAT sütununda bir "Z" varlığında tanımlanabilir. Kısa bir süre boyunca var olan zombiler, genellikle ana programdaki bir hatayı gösterir. Diğer sızıntılarda olduğu gibi, birkaç zombinin varlığı başlı başına endişe verici değildir, ancak daha ağır yükler altında ciddi şekilde büyüyebilecek bir sorunu gösterebilir.
Bir sistemi zombileri kaldırmak için, SIGCHLD sinyali kill komutunu kullanarak ebeveyne manuel olarak gönderilebilir. Ebeveyn işlemi hala zombiyi biçmeyi reddediyorsa, bir sonraki adım ebeveyn sürecini kaldırmak olacaktır. Bir süreç ebeveynini kaybederse, init yeni ebeveyn olur. Init, init'li zombileri ebeveyn olarak toplamak için bekleme sistemi çağrısını düzenli aralıklarla yürütür.
Vardır yetim işlemler ana süreç bittiğinde veya sonlandırıldı bir bilgisayar bir süreçtir.
Sunucunun isteğini yaptıktan sonra istemci işlemi çöktüğünde, uzaktan başlatma sırasında bir işlem artık kalabilir.
Yetimler sunucu kaynaklarını boşa harcar ve potansiyel olarak bir sunucuyu sıkıntıya sokabilir (Bu, zombiler ve yetimler arasındaki en büyük kaynak farkıdır (Yetim zombi filmi görmemeniz hariç).
İmha en yaygın kullanılan tekniktir; Bu durumda yetim işlemi öldürülür.
Yeniden doğuş, makinelerin periyodik olarak uzak hesapların ebeveynlerini bulmaya çalıştıkları bir tekniktir; bu noktada yetim süreçler öldürülür.
Sona erme, her bir sürecin öldürülmeden önce bitirilmesi için belirli bir süre ayrıldığı bir tekniktir. Bir süreç gerekiyorsa, ayrılan süre sona ermeden önce bitirmek için daha fazla zaman isteyebilirsiniz.
Aynı zamanda, ana işlemiyle aynı makinede çalışan bir işlem artık kullanılabilir. UNIX benzeri bir işletim sisteminde, artık herhangi bir işlem, özel "init" sistem süreci tarafından derhal uygulanacaktır. Bu işleme yeniden ebeveynlik denir ve otomatik olarak gerçekleşir. Her ne kadar teknik olarak süreç ebeveyn olarak "init" işlemine sahip olsa da, başlangıçta onu oluşturan süreç artık varolmadığından bu yana hala bir yetim süreci olarak adlandırılıyor.
Daha fazla bilgi:
http://wiki.answers.com/Q/What_is_Zombie_Process_and_Orphan_Process#ixzz1PCN9vojU
http://www.linuxsa.org.au/tips/zombies.html
http://www.brighthub.com/computing/linux/articles/79186.aspx
Sistem kullanıcı girişi üzerine yavaşça kilitlendiğinde ve tepki verdiğinde askıda kalma sürecini belirleme ve yok etme?
LAN'daki bir Windows makinesinden bir Ubuntu makinesinde çalışan bir işlemi uzaktan öldürme