Kill -9 não mata processo no Ubuntu

1

Este processo está marcado como <defunct> e kill -9 não o mata. O que eu posso fazer? Por que esse processo não pode ser morto?

    
por Simon Sheehan 25.11.2011 / 18:50

2 respostas

3

Esse tipo de processo é chamado de processo zumbi . O comando Kill não tem efeito nos processos zumbis. Tecnicamente, eles estão mortos e você os vê apenas porque eles ainda têm uma entrada na tabela de processos.

Para remover zumbis de um sistema, o sinal SIGCHLD pode ser enviado ao pai manualmente, usando o comando kill. Se o processo pai ainda se recusar a colher o zumbi, o próximo passo seria remover o processo pai. Quando um processo perde seu pai, o init se torna seu novo pai. O Init executa periodicamente a chamada do sistema de espera para obter zumbis com o init como pai.

    
por 25.11.2011 / 18:52
2

Extinta significa que é um processo zumbi - não está realmente funcionando, apenas aguarda que o processo pai chame wait para receber seu valor de retorno.

A função

wait pode ser usada para ler o número de um sinal, que matou o processo zumbi, então é de fato o comportamento correto.

Para se livrar dos zumbis, você pode: - Matar o processo pai (talvez console, onde você digitou seu comando) - chama wait no processo pai - ignore SIGCHLD no processo pai, se você nunca chamar wait

    
por 25.11.2011 / 18:55

Tags