Meu aplicativo é executado como um processo em segundo plano no Linux. Atualmente, ele é iniciado na linha de comando em uma janela do Terminal.
Recentemente, um usuário estava executando o aplicativo por um tempo e ele morreu misteriosamente. O texto:
Morto
estava no terminal. Isso aconteceu duas vezes. Perguntei se alguém em um terminal diferente usava o comando kill para matar o processo? Não.
Sob quais condições o Linux decidiria matar meu processo? Eu acredito que o shell exibiu "matado" porque o processo morreu após receber o sinal de matar (9). Se o Linux enviou o sinal de interrupção, deve haver uma mensagem em um log do sistema em algum lugar que explique por que ele foi morto?
/var/log/messages
(3) a concha sob a qual o ran processo que é o processo que imprime a Killed
notificação quando o estado de saída de waitpid(2)
indica o processo filho morreu de sinal 9.
/var/log/syslog