Junior — Middle
Как може да се завърши или принуди спирането на зомби-процес в операционната система?
sobes.tech AI
Отговор от AI
Зомби процес е процес, който е приключил, но неговият родителски процес все още не е прочел статуса му на приключване (не е извикал wait). В системата той заема запис в таблицата на процесите, но не използва CPU ресурси.
Пряко принудително приключване на зомби процес не е възможно, тъй като той вече е приключил. За да се избавите от зомби, трябва:
- Да прекратите или рестартирате родителския процес, който не е извикал wait. В този случай init (PID 1) ще стане новият родител на зомби и автоматично ще извика wait, като го почисти.
- Да изпратите сигнал SIGCHLD на родителския процес, за да обработи статуса на приключване на децата процеси.
Примерна команда за изпращане на сигнал към родителя:
kill -s SIGCHLD <PID_на_родителя>
Ако родителят не реагира, може да го прекратите:
kill -9 <PID_на_родителя>
След това init ще вземе и ще почисти зомби процеса.