Yanıtlar:
Zombi süreçleri çoktan öldü. Onları öldüremezsin. killKomutu veya sistem çağrısı bir zombi süreci üzerinde hiçbir etkisi yoktur. (Bir zombi ile birlikte gidebilirsin kill, ama bir dakika içinde göreceğimiz gibi, zombi değil ebeveyni vurmalısın.)
Bir zombi süreci aslında bir süreç değildir, sadece süreç tablosundaki bir giriştir. Zombi işlemiyle ilişkili başka kaynak yok: belleği veya çalışan kodu yok, dosyaları açık tutmuyor vb.
Bir süreç öldüğünde, diğer tüm kaynaklar temizlendikten sonra yapılacak son şey, süreç tablosundaki girdidir. Bu giriş, üst sürecin çocuğun çıkış durumunu izlemesine izin vermek için bir zombi oluşturacak şekilde tutulur. Ebeveyn çıkış durumunu wait, sistem çağrıları ailesinden birini çağırarak okur ; bu noktada zombi kaybolur. Çağrı waitisimli söylenen biçmek bir zombi metaforunu ölü olmak ancak bir şekilde hala tam olarak ölümden sonraki hayata işlenmez uzanan, çocuk. Ebeveyn (veya arayarak SIGCHLD sinyalini görmezden gelerek onu umursamıyor olması da gösterebilir sigactionile SA_NOCLDWAITbu durumda işlem tablosunda girişi derhal zaman çocuk ölür silinir, bayrak).
Böylece bir zombi sadece bir süreç öldüğünde ve ebeveyni waithenüz çağırmadığında var olur . Bu durum ancak ebeveyn hala çalıştığı sürece devam edebilir. Ebeveyn çocuktan önce ölürse veya çocuğun durumunu okumadan ölürse, zombi üst süreci PID 1 ile işleme ayarlanır init. İşlerinden biri, bir döngüyü initçağırmak waitve böylece ebeveyninin geride bıraktığı herhangi bir zombi sürecini toplamaktır.
Bilemezsin killo zaten ölü gibi bir zombi sürecini.
Zombi süreçleri waitebeveynleri tarafından düzenlenmelidir, böylece çıkış durumları toplanır.
Linux'ta bulunan tek "yerleşik temizleme mekanizması", herhangi bir üst sürecin çocuklarının çıkış durumunu toplamadan önce ölmesi durumunda işe yarar. Bu durumda, her çocuk, çocuk üzerinde çıkış durumunu toplayacak ve işlem tablosundaki girişini kaldıracak initolan süreç tarafından miras alınır wait.
Bir sürecin ebeveyni ölür ölmez, süreç bir yetim haline gelir - zombi olup olmadığını göz ardı ederek. Yetimlere ne olur? Yeni bir ebeveyn alırlar init. initolacak waito nedenle yetim kavuşurken, toplanan her yetim üzerinde (aynı zamanda sıra bir zombi olmuş olabilir).
Hayır, zombiler için yerleşik bir temizleme mekanizması yoktur. Zombiler, ebeveynleri öldürüldükten sonra zombi cennetine gider. O zamana kadar işletim sistemi, çıkış durumunu üst öğeye döndürmelerini sağlar.
initöldürmez . Durumlarını toplamak sadece çocuklarının üzerindedir.wait