O que matou o processo principal tty de repente?

4

Estou fazendo alguns testes de estresse de um software que pode executar comandos do shell. Periodicamente, o sistema me desconecta durante o teste de estresse. Meu registro dos comandos que acionaram isso sempre gera comandos que funcionam bem por conta própria e não fazem logout.

Como posso saber o que disparou um logout inesperado?

Edite em resposta aos comentários:

Usando: Ubuntu 12.04, x64. Comandos shell são combinações mais ou menos arbitrárias de um grande conjunto de comandos, mas não incluem kill ou outros métodos para interromper um processo diretamente. Exemplo de sequência de comandos que induz uma falha:

cd /tmp
pwd
dmesg
date -u
*some internal program calls happen here*
*logout happens here*

Meu palpite é que é algo interno ao meu programa, então eu menciono os comandos do shell apenas para completar. A execução com o valgrind canalizado para um arquivo de log mostra uma saída limpa, semelhante ao que aconteceria se eu parasse o processo normalmente durante o logout. Nenhuma memória vaza ou problemas de acesso inválido em tudo. Torna difícil descobrir o que está acontecendo!

Edit2: Mais detalhes depois de vasculhar o syslog. Tudo o que tenho é isto:

Oct  1 14:39:26 my_hostname pulseaudio[7519]: [pulseaudio] pid.c: Daemon already running.
Oct  1 14:39:37 my_hostname kernel: [499969.564820] init: tty4 main process (1031) killed by TERM signal
Oct  1 14:39:37 my_hostname kernel: [499969.565018] init: tty5 main process (1037) killed by TERM signal
Oct  1 14:39:37 my_hostname kernel: [499969.565201] init: tty2 main process (1052) killed by TERM signal
Oct  1 14:39:37 my_hostname kernel: [499969.565391] init: tty3 main process (1053) killed by TERM signal
Oct  1 14:39:37 my_hostname kernel: [499969.565595] init: tty6 main process (1055) killed by TERM signal
Oct  1 14:39:37 my_hostname kernel: [499969.565798] init: cron main process (1065) killed by TERM signal
Oct  1 14:39:37 my_hostname kernel: [499969.566014] init: irqbalance main process (1120) killed by TERM signal
Oct  1 14:39:37 my_hostname kernel: [499969.566233] init: tty1 main process (1391) killed by TERM signal
Oct  1 14:39:38 my_hostname kernel: [499969.875817] init: plymouth-upstart-bridge main process (7542) terminated with status 1

e, em seguida, o que parece ser um enorme despejo de mensagens do kernel também às 14:38:37, que parece que o sistema está se redefinindo antes do login.

    
por John Doucette 01.10.2012 / 13:42

1 resposta

3

Depende de que tipo de teste de estresse você está fazendo. Quando o kernel não tem recursos suficientes para continuar, o processo aleatório é eliminado. Isso acontece apenas em cargas muito altas, por exemplo, quando você não tem um arquivo de paginação e toda a sua memória é usada em alguns processos.

    
por 01.10.2012 / 17:31