Como matar processos que não respondem para matar -9

9

Estou vendo processos no meu SGI Altix 450 executando o SLES 10.1 aparentemente parando de funcionar (ou seja, não fornecem mais saída em seus registros por horas). Neste momento eu quero matar o processo ofensivo para que eu possa reiniciá-lo. Top mostra que o processo está no estado (R). Embora quando tento matar, nada acontece. Mesmo quando eu uso kill -9 ele ainda permanece. Neste caso, o que posso fazer além de reiniciar a máquina?

    
por Jared Brown 21.07.2009 / 16:01

3 respostas

9

É possível que o processo seja eliminado, mas esteja aguardando que o pai colete seu valor de retorno. Nesse caso, depois de ser morto, estaria no estado 'Z' e não 'R'. Nesse caso, você deve encontrar o ppid do processo usando o comando ps e também o processo pai (se tiver certeza de que não causará nenhum problema).

O outro caso pode ser que, por algum motivo, o processo esteja reiniciando depois de ser morto como tty. Nesse caso, o ID do processo deve mudar toda vez que você matar -9. Veja se o ID do processo está mudando toda vez que você tentar matá-lo.

    
por 21.07.2009 / 16:08
2

O processo está aguardando algum recurso do sistema, talvez o NFS? isso não é permitir que "deixe ir". Gostaria de ouvir algumas soluções para isso além do meu ...

reinicie a caixa ou deixe o processo ficar por aqui.

Gostaria de saber se você pode "PARAR" o processo via kill -STOP {PID} para evitar que ele consuma mais cpu.

Reiniciar deve ser possível mesmo com outro processo parado por aí, mas pode exigir uma porta de lista ou um segmento de memória compartilhada que ainda esteja em uso pelo outro processo.

    
por 21.07.2009 / 16:30
0

Já verificou o dmesg? Eu vi isso depois de um pânico no kernel; a única maneira de recuperar é reinicializar (de preferência em breve) - e então obter um kernel atualizado.

Processos normais não faturáveis estarão no estado D, não em R.

    
por 22.07.2009 / 06:04

Tags