Como matar processo ostensivamente imortal?

6

Eu tive algumas grandes transferências de arquivos operando em uma montagem NFS. O servidor no qual o ponto de montagem residia foi descuidadamente reiniciado, e agora o servidor do qual essas grandes transferências foram iniciadas parece estar atolado por elas.

Se eu executar top , vejo o seguinte:

Aprimeiracoisaquetenteifoiexecutarkillcomcadasinalizador-1-2-9e-15ecadaumdosIDsdoprocessomostradosacimaporvez.Issomepermitiucontinuar,masnãomatouosprocessos.Apróximacoisaquetenteifoireiniciaroservidor,masnemrebootnemshutdown-rnowfuncionou.Quandoexecuteishutdown-rnow,amensagempadrãodetransmissãofoienviada,masoservidornãofoireinicializado.Euconfirmeiissoobservandootempodeatividadedoservidor,quefoide25dias.

Entãoagoraestouumpoucopreso.Estouexecutandoessescomandoscomoroot.

EDIT:Aquiestáoutropetiscointeressante:

Além disso, não vejo nenhum outro processo usando mais de uma fração de um percentual de memória ou mais de 5% de CPU.

EDIT 2: saída de /var/log/messages

    
por DeeDee 22.06.2012 / 21:37

2 respostas

5

OK, hora de algo ainda mais drástico!

echo 1 >/proc/sys/kernel/panic

Isso instrui o kernel que quando você pânico do kernel, para reiniciar o host em 1 segundo.

echo c >/proc/sysrq-trigger

Isso força o kernel a entrar em pânico. Então, esperamos que você acabe reiniciando o host.

    
por 22.06.2012 / 22:17
1

Você iniciou o processo de desligamento, então sua melhor opção é fazer com que a coisa seja reinicializada. Se é uma máquina física, então você pode desligar fisicamente o servidor ou através de um processador de serviços?

Se não, e você acha que estes processos específicos estão desligados, tente e elimine todos os processos chamados mv e gzip com isto:

killall mv

killall gzip

Como aviso geral, Cuidado com o comando killall, já que você não quer matar acidentalmente algum processo do sistema, então fique atento ao que você está matando.

Além disso, veja o que está montado com df -h e tente enumerá-los. Eu vi meus sistemas Linux ficarem desligados quando eles não soltam uma montagem nfs. Eu geralmente tenho que "preguiçar" desmembrá-los com

umount -l /path/of/mount/point

EDIT 1

Outras maneiras de reinicializar normalmente:

O seu sistema responde a Ctrl+Alt+Del ?

Se não, tente a combinação de chaves mágica do SysRQ: Alt+SysRq+R+E+I+S+U+B . Sysrq = botão PrintScreen. Mantendo pressionadas as teclas alt e sysrq, você digita a combinação da tecla REISUB uma após a outra em ordem. Basicamente elimina todos os processos primeiro, faz alguma outra limpeza e reinicia. Isso só funciona se o magic sysrq estiver habilitado no seu kernel. FYI:

R: Switch the keyboard from raw mode to XLATE mode
E: Send the SIGTERM signal to all processes except init
I: Send the SIGKILL signal to all processes except init
S: Sync all mounted filesystems
U: Remount all mounted filesystems in read-only mode
B: Immediately reboot the system, without unmounting partitions or syncing
    
por 22.06.2012 / 21:51

Tags