Como verificar se meu computador irá reinicializar (ou desligar)?

3

Quando envio um comando de reinicialização (ou desligamento) para uma máquina Linux, ele mantém essas mensagens em algum lugar e posso consultá-las. Ou seja Vou enviar um comando reboot e depois disso vou executar outro comando para checar se meu computador vai reiniciar (ou desligar) o modo (porque ele não irá reiniciar imediatamente vai levar algum tempo para reiniciar e eu vou checar)?

EDITAR

O servidor envia um desses comandos para o cliente (meu servidor e cliente são codificados em Java) Se eu pingar após o envio, ou seja, o comando shutdown, talvez a máquina seja desligada, mas ainda esteja ativa (ela será desligada talvez após 2 segundos depois). Se eu puder consultar meu cliente, ele recebeu um comando de desligamento (ou reinicialização), mesmo que ele ainda esteja ativo, eu aceito que tudo OK, ele irá desligar (ou reiniciar) Se eu não puder obter uma resposta para minha consulta para o cliente, significa que ele não está ativo, por isso vou aceitar que ele seja fechado (ou reinicializado). Como posso consultar minha máquina assim?

    
por kamaci 02.08.2012 / 21:07

1 resposta

3

Durante a reinicialização, o nível de execução é definido como 6 (0 para um desligamento, 1 para o modo de manutenção e 2 –5 para operação normal).

if [ "$(runlevel | sed 's/.* //')" = 6 ]; then
  echo "A reboot is in progress"
fi

Não é muito provável que isso seja útil, pois haverá apenas uma janela muito pequena (geralmente menos de um segundo) durante a qual a máquina ainda está aceitando comandos após o reinício ter sido iniciado.

Se você precisar de uma notificação após a reinicialização do computador, envie uma mensagem (por meio de ssh, email, SNMP ou o que for conveniente) como parte de seu processo de inicialização, depois que todos os serviços necessários forem iniciados.

    
por 03.08.2012 / 03:40