Respostas:
Se o kernel interrompeu um processo (porque o sistema ficou sem memória), haverá uma mensagem de log do kernel. Check-in /var/log/kern.log
(no Debian / Ubuntu, outras distribuições podem enviar logs do kernel para um arquivo diferente, mas geralmente /var/log
no Linux).
Observe que, se o OOM-killer (falta de memória) for acionado, significa que você não possui memória virtual suficiente. Adicione mais swap (ou talvez mais RAM).
Algumas falhas de processo também são registradas nos logs do kernel (por exemplo, falhas de segmentação).
Se os processos foram iniciados no cron, você deve receber um email com mensagens de erro. Se os processos foram iniciados a partir de um shell em um terminal, verifique os erros nesse terminal. Execute o processo screen
para ver o terminal novamente pela manhã. Isso pode não ajudar se o OOM-killer for acionado, porque também pode ter matado o cron ou o processo de tela; mas se você encontrou o OOM-killer, esse é o problema que você precisa corrigir.
A Contabilidade de processos pode ajudar aqui.
Em resumo:
apt-get install acct
Em seguida, tente comandos como:
lastcomm
sa
ou no Ubuntu:
lastcomm -f /var/log/account/pacct
sa /var/log/account/pacct
Vejo:
ATUALIZAR
Estranhamente, o pacct
arquivo tem informações sobre o status de saída, mas lastcomm
nem sa
parece nem imprimi-lo.
Tanto quanto eu posso ver, você teria que escrever seu próprio programa C para acessar as informações.
ATUALIZAÇÃO 2
Aqui está uma versão que imprime o código de saída.
Os dois últimos campos são "S" para sinalizado e "E" para encerrado, seguidos pelo número do sinal ou status de saída.
Portanto, no seu caso, você provavelmente está procurando por "S 15", o que significa que ele tem um SIGTERM.
sleep X mikel stdin 0.00 secs Fri Mar 25 20:15 S 15
Comparado com "E 0", o que significa que o processo foi encerrado sem erro.
true mikel stdin 0.00 secs Fri Mar 25 20:16 E 0
Apenas minimamente testado.
serviço sudo --status-all
Este comando informará quais são os serviços atualmente em execução e quais não foram iniciados ou parados.
/var/log/kern.log
?