O que fazer se matar -9 não funciona?

7

Eu tenho um processo irritante (neste caso, um processo ocioso que deveria estar rodando no iPhone Simulator (agora há muito tempo sair).

97442 ??         0:00.00 (MyProcess)

Eu tentei tudo o que posso imaginar, incluindo

sudo kill -9 97442
sudo kill -HUP 97442

E, no entanto, como o Raven ... o processo continua.

Neste caso, significa que para continuar trabalhando, tenho que reinicializar minha máquina.

    
por BadPirate 04.02.2012 / 02:24

1 resposta

13

Quando um processo permanece na tabela de processos como este processo, então você precisa matar seu processo pai . Primeiro, encontre o PID do processo pai:

ps -eo 'pid,ppid,comm' | grep 97442

Em seguida, execute kill <pid> para qualquer que seja o resultado ppid . (Dê uma chance para morrer de forma limpa, primeiro.)

O design tradicional do Unix mantém as informações do processo para que os pais colham e limpem, caso os processos pai desejem executar getrusage(2) para descobrir o uso de recursos de seus filhos ou wait(2) para o status de saída, etc.

Quando os pais não colhem seus filhos, os filhos permanecem zumbis - ATÉ que o processo pai seja morto, quando o kernel voltará a ser pai dos filhos para init(8) . init(8) irá colher os filhos recém-pais.

    
por 04.02.2012 / 02:39

Tags