Junior — Middle
Əməliyyat sistemində zombie prosesini necə sona çatdırmaq və ya zorla dayandırmaq olar?
sobes.tech Süni İntellekt
AI-dan cavab
Zombi proses — tamamlanmış prosesdir, lakin onun valideyi hələ oxunmayıb (wait çağırmayıb). Sistemdə o, proseslər cədvəlində qeydiyyatda olur, lakin CPU resurslarını istifadə etmir.
Zombi prosesi birbaşa zorla sonlandırıla bilməz, çünki artıq tamamlanıb. Zombidən qurtulmaq üçün:
- Wait çağırmamış valideyi sonlandırmaq və ya yenidən başlatmaq. Bu zaman init (PID 1) yeni valide olur və avtomatik olaraq wait çağırır, zombini təmizləyir.
- Valideyə SIGCHLD siqnalı göndərmək, onun uşaqların tamamlanma statusunu emal etməsi üçün.
Valideyə siqnal göndərmək üçün nümunə əmr:
kill -s SIGCHLD <PID_valide>
Əgər valide cavab verməzsə, onu sonlandırmaq olar:
kill -9 <PID_valide>
Bundan sonra, init zombi prosesini alıb, onu təmizləyəcək.