Mon application fonctionne comme un processus d'arrière-plan sous Linux. Elle est actuellement lancée à la ligne de commande dans une fenêtre Terminal.
Récemment, un utilisateur a exécuté l'application pendant un certain temps et elle est morte mystérieusement. Le texte :
Tué
était sur le terminal. Cela s'est produit deux fois. J'ai demandé si quelqu'un dans un autre terminal avait utilisé la commande kill pour tuer le processus ? Non.
Dans quelles conditions Linux déciderait-il de tuer mon processus ? Je pense que le shell a affiché "killed" parce que le processus est mort après avoir reçu le signal kill(9). Si Linux a envoyé le signal kill, devrait-il y avoir un message dans un journal système quelque part qui explique pourquoi il a été tué ?
31 votes
Linux a tué mon processus et l'a enregistré dans /var/log/messages sur redhat
1 votes
Voir aussi cette réponse sur unix.stackexchange.com.
2 votes
Il y a 3 acteurs dans cet événement : (1) Le processus qui (cause commune) prend trop de mémoire et cause la condition OOM (2) Le noyau qui envoie le SIGKILL (signal 9) pour le terminer et enregistre le fait dans un journal du système tel que
/var/log/messages
(3) Le shell sous lequel s'est exécuté le processus qui imprime leKilled
notification lorsque le statut de sortie dewaitpid(2)
indique que le processus enfant est mort suite au signal 9.1 votes
Après avoir lu la réponse de @DeanHiller, j'ai trouvé des messages de journal sur Ubuntu sous
/var/log/syslog