La mia applicazione funziona come processo in background su Linux. Attualmente è avviato dalla riga di comando in una finestra Terminale.
Recentemente un utente ha eseguito l'applicazione per un po 'ed è morta misteriosamente. Il testo:
Ucciso
era sul terminal. Questo è successo due volte. Ho chiesto se qualcuno in un Terminale diverso ha usato il comando kill per terminare il processo? No.
In quali condizioni Linux deciderebbe di interrompere il mio processo? Credo che la shell abbia mostrato "ucciso" perché il processo è morto dopo aver ricevuto il segnale kill (9). Se Linux ha inviato il segnale di interruzione dovrebbe esserci un messaggio nel registro di sistema da qualche parte che spiega perché è stato ucciso?
/var/log/messages
(3) La shell in cui è stato eseguito il processo che è il processo che stampa la Killed
notifica quando lo stato di uscita da waitpid(2)
indica che il processo figlio è morto dal segnale 9.
/var/log/syslog