“o sistema está sendo reinicializado agora”

13

Estou conectado a um beagleboard via tty e de repente vejo essa mensagem:

Broadcast message from root@arm
        (unknown) at 11:40 ...

The system is going down for reboot NOW!
[  143.036193] Restarting system.

O sistema é o Ubuntu 12.10. Existe um lugar onde eu possa encontrar porque o sistema decidiu ir para baixo?

UPDATE: Mais informações

  • Isso realmente acontece o tempo todo, a placa é reiniciada a cada 1 a 5 minutos.
  • Assegurei que nenhum programa ou daemon seja executado na inicialização.
  • Não consigo encontrar Restarting em qualquer lugar em qualquer arquivo em /var/log
  • Em syslog antes de uma reinicialização, há sempre um Feb 10 09:20:00 arm rsyslogd: [origin software="rsyslogd" swVersion="5.8.6" x-pid="317" x-info="http://www.rsyslog.com"] exiting on signal 15.
por Thomas 10.02.2014 / 11:51

3 respostas

11

A maneira como eu rastrei isso é substituir os utilitários halt e shutdown por um script.

Primeiro, crie um script como o seguinte em /bin/fakehalt :

#!/bin/bash
exec >>/tmp/fakehalt.log 2>&1
date
echo "CMD=$0 PID=$$"
ps -ef --forest
echo '========'

Em seguida, instale-o com:

chmod a+x /bin/fakehalt
mv /sbin/halt /sbin/halt.orig
ln -s /bin/fakehalt /sbin/halt
mv /sbin/shutdown /sbin/shutdown.orig
ln -s /bin/fakehalt /sbin/shutdown

Isso criará um arquivo de log em /tmp/fakehalt.log cada vez que for chamado. Ele registrará o nome que recebeu como ( halt ou shutdown ) seu próprio PID e, em seguida, um diagrama de árvore de todos os processos no momento.

Isso deve fornecer todas as informações necessárias para rastreá-lo. Basta olhar a árvore ps e encontrar o que chamamos de script.

/sbin/reboot deve ser um link simbólico para /sbin/halt . Se não for, substitua-o também.

Se isso ainda não o capturar, substitua /sbin/init (como também pode ser usado para reinicializar o sistema). Mas isso é perigoso, como se o sistema fosse reinicializado, não virá corretamente.

    
por 10.02.2014 / 14:24
3

Execute seu kernel com algo como init=/bin/bash . Isso deve fazer com que nenhum processo esteja sendo executado que o shell.

Verifique se há mais problemas de reinicialização.

Em seguida, descubra qual sistema de init você usa normalmente e dê uma olhada em todos os serviços iniciados por ele.

Tente desativar os serviços até que o problema de reinicialização desapareça.

    
por 10.02.2014 / 14:07
2

Bem, é uma dessas possibilidades.

  • Alguém está executando o desligamento
  • o cron está executando o desligamento (ou iniciou algo que está executando o encerramento)
  • gerenciamento de energia aciona um desligamento (nenhum sistema de energia, hibernação, suspensão ou inatividade, o botão de energia é pressionado)
  • reinicialização solicitada após a instalação do pacote
por 10.02.2014 / 12:18

Tags