Moja aplikacja działa jako proces w tle w systemie Linux. Obecnie jest uruchamiany z wiersza poleceń w oknie terminala.
Niedawno użytkownik uruchamiał aplikację przez pewien czas i ta tajemnicza śmierć. Tekst:
Zabity
był na terminalu. Stało się to dwa razy. Zapytałem, czy ktoś w innym terminalu użył polecenia kill, aby zabić proces? Nie.
W jakich warunkach Linux zdecydowałby się zabić mój proces? Uważam, że powłoka wyświetlała komunikat „zabity”, ponieważ proces ten umarł po otrzymaniu sygnału zabicia (9). Jeśli Linux wysłał sygnał zabicia, czy w logu systemowym powinien znajdować się komunikat wyjaśniający, dlaczego został zabity?
/var/log/messages
(3) Powłoka, w której uruchomiono proces, czyli proces, który drukuje Killed
powiadomienie, gdy status wyjścia z waitpid(2)
wskazuje, że proces potomny zmarł z sygnału 9.
/var/log/syslog