Você não precisa reboot
quando eles são processos zumbis. Aqui está o porquê:
-
Um processo se torna zumbi quando o processo é concluído, mas seu pai não chamou
wait(2)
para obter seu código de retorno -
O zumbi não usa nenhum recurso físico ou virtual, exceto apenas uma entrada na tabela de processos do kernel
-
Uma vez que o pai chamar
wait(2)
, o zumbi será colhido corretamente e a entrada da tabela de processo será removida -
Se o zumbi se tornar órfão, ou seja, se seu pai morrer, então
init
(PID 1) herdará o processo e o colherá chamandowait(2)
Como você pode ver, é uma questão de tempo até que o wait(2)
seja chamado e o zumbi seja colhido. Se você tem muitos zumbis ao longo do tempo, considere que é uma falha de programação, você deve procurar consertar (ou pedir para consertar) o código em vez de reboot
ing, o que é absolutamente desnecessário e não deve ser feito.
Para encontrar os processos zumbis, obtenha o STATE
do processo, se for Z
, o processo é um zumbi:
ps -eo pid,ppid,state,cmd | awk '=="Z"'
Aqui eu tomei apenas campos seletivos, ou seja, o PID, PPID, STATE e COMMAND.