Junior — Middle
İşletim sisteminde bir zombie süreci nasıl sonlandırılır veya zorla durdurulur?
sobes.tech yapay zeka
AI'dan gelen yanıt
Bir zombi işlem, tamamlanmış bir işlem olsa da, ebeveyn işlemi henüz tamamlanma durumunu okumamış (wait çağrısı yapmamış) olan işlemdir. Sistem üzerinde, işlem tablosunda bir kayıt tutar, ancak CPU kaynaklarını kullanmaz.
Zombi işlemi doğrudan zorla sonlandırılamaz çünkü zaten tamamlanmıştır. Bir zombi işlemden kurtulmak için:
- wait çağrısı yapmamış ebeveyn işlemi sonlandırın veya yeniden başlatın. Bu durumda, init (PID 1) yeni ebeveyn olur ve otomatik olarak wait çağrısı yapar, zombi işlemi temizlenir.
- Ebeveyn işlemi SIGCHLD sinyali göndererek, çocuk işlemlerin tamamlanma durumunu işlemesini sağlayın.
Ebeveyn işlemi için sinyal gönderme komut örneği:
kill -s SIGCHLD <PID_ebeveyn>
Eğer ebeveyn tepki vermezse, onu sonlandırabilirsiniz:
kill -9 <PID_ebeveyn>
Bundan sonra, init zombi işlemi alır ve temizler.