2016-02-22 1 views
2

Existe-t-il un endroit où le noyau Linux enregistre passivement les requêtes d'arrêt SIGKILL (kill -9)? J'ai une JVM qui est en cours d'arrêt et je suspecte que, selon les preuves disponibles, elle est arrêtée par un processus égaré qui provoque en quelque sorte une fermeture du processus de la JVM. J'ai une connexion robuste en place, mais pour confirmer mes soupçons, je devrais augmenter le niveau d'enregistrement à des niveaux écrasants.Linux SIGINT capture passive

J'ai fait des recherches exhaustives à l'aide de/var/log et je n'arrive pas à trouver un endroit susceptible de capturer et de consigner ces événements SIGKILL. Des idées où je pourrais trouver ces événements, s'ils existent?

+0

SIGINT ou SIGKILL? Quoi qu'il en soit, je ne pense pas qu'il y ait un journal des signaux envoyés aux processus. – Barmar

Répondre

0

Option 1:

Si votre noyau a ftrace support (très probablement) essayer l'outil killsnoop de Brendan Gregg perf-tools:

wget https://raw.githubusercontent.com/brendangregg/perf-tools/master/killsnoop 
chmod +x killsnoop 
sudo ./killsnoop -s 

D'autres exemples d'utilisation dans le fichier killsnoop_example.txt.

Option 2: (capture passive)

Si votre noyau n'a pas le support ftrace vous pouvez utiliser le module noyau kernel-siglog de https://github.com/nfedera/kernel-siglog:

git clone https://github.com/nfedera/kernel-siglog.git 

cd kernel-siglog/ 
make 

sudo insmod siglog.ko 

Une fois inséré le module du noyau siglog enregistrera la 10 000 derniers signaux en /proc/siglog

J'ai eu un problème similaire et trouvé le coupable en utilisant ce module noyau. Je l'ai fait insérer sur le serveur d'un client pendant quelques semaines et quand le service a été tué, je me suis connecté, j'ai fait un cat /proc/siglog et j'ai découvert que mon service a été tué par le script du chien de garde d'un client.

+0

Oui. Ceci est exactement ce que je cherchais! Merci @ – user3524037

+0

Content de pouvoir aider. Cependant, inutile de donner merci dans un commentaire, vous devriez plutôt lire [this] (http://stackoverflow.com/help/someone-answers) et agir en conséquence. – gollum