Meine Anwendung wird als Hintergrundprozess unter Linux ausgeführt. Es wird derzeit über die Befehlszeile in einem Terminalfenster gestartet.
Kürzlich hat ein Benutzer die Anwendung für eine Weile ausgeführt und sie ist auf mysteriöse Weise gestorben. Der Text:
Getötet
war auf dem Terminal. Dies geschah zweimal. Ich habe gefragt, ob jemand an einem anderen Terminal den Befehl kill verwendet hat, um den Prozess abzubrechen. Nein.
Unter welchen Bedingungen würde Linux beschließen, meinen Prozess abzubrechen? Ich glaube, die Shell zeigte "getötet" an, weil der Prozess nach dem Empfang des Kill (9) -Signals gestorben ist. Wenn Linux das Kill-Signal gesendet hat, sollte sich irgendwo in einem Systemprotokoll eine Meldung befinden, die erklärt, warum es getötet wurde?
/var/log/messages
(3) Die Shell, unter der der Prozess ausgeführt wurde. Killed
waitpid(2)
/var/log/syslog