Junior — Middle
Como pode terminar ou forçar a paragem de um processo zombie no sistema operativo?
sobes.tech IA
Resposta da IA
Um processo zumbi é um processo que terminou, mas seu processo pai ainda não leu seu status de término (não chamou wait). No sistema, ele ocupa uma entrada na tabela de processos, mas não utiliza recursos de CPU.
Não é possível terminar forçadamente um processo zumbi diretamente, pois ele já terminou. Para se livrar de um zumbi, deve-se:
- Encerrar ou reiniciar o processo pai que não chamou wait. Assim, init (PID 1) se tornará o novo pai do zumbi e chamará automaticamente wait, limpando-o.
- Enviar o sinal SIGCHLD ao processo pai para que ele processe o status de término dos processos filhos.
Exemplo de comando para enviar o sinal ao pai:
kill -s SIGCHLD <PID_do_pai>
Se o pai não responder, pode-se encerrá-lo:
kill -9 <PID_do_pai>
Depois disso, init pegará e limpará o zumbi.