
In meiner Überwachungsbox habe ich viele Zombieprozesse, die von Nagios erstellt wurden und die sich auch schnell entfernen lassen. Ich verwende aktive Prüfungen, um meine Server zu überwachen. Ich habe die nicht mehr funktionierenden Prozesse gesammelt, die mit dem folgenden Befehl erstellt wurden:
$ top -d 0.25 -b -n 20 > topout.txt
Dadurch wurde die Ausgabe von top 20 Mal mit einer Verzögerung von 0,25 Sekunden gesammelt.
Ich habe in der Datei topout.txt nach dem nicht mehr funktionierenden Prozess gesucht.
$ cat topout.txt | grep defunct
Ich erhalte die folgende Ausgabe.
8957 nagios 20 0 0 0 0 Z 6.0 0.0 0:00.02 nagios <defunct>
8951 nagios 20 0 0 0 0 Z 3.0 0.0 0:00.01 nagios <defunct>
8954 nagios 20 0 0 0 0 Z 3.0 0.0 0:00.01 nagios <defunct>
8945 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
8946 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
8980 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9000 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.00 nagios <defunct>
9024 nagios 20 0 0 0 0 Z 7.0 0.0 0:00.02 nagios <defunct>
9025 nagios 20 0 0 0 0 Z 3.5 0.0 0:00.01 nagios <defunct>
9040 nagios 20 0 0 0 0 Z 3.1 0.0 0:00.01 nagios <defunct>
9086 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9087 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9123 nagios 20 0 0 0 0 Z 6.1 0.0 0:00.02 nagios <defunct>
9126 nagios 20 0 0 0 0 Z 3.0 0.0 0:00.01 nagios <defunct>
9131 nagios 20 0 0 0 0 Z 3.0 0.0 0:00.01 nagios <defunct>
9091 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.05 nagios <defunct>
9111 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9119 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9118 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9151 nagios 20 0 0 0 0 Z 2.9 0.0 0:00.02 nagios <defunct>
9153 nagios 20 0 0 0 0 Z 2.9 0.0 0:00.02 nagios <defunct>
9150 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9164 nagios 20 0 0 0 0 Z 3.5 0.0 0:00.02 nagios <defunct>
9171 nagios 20 0 0 0 0 Z 3.5 0.0 0:00.02 nagios <defunct>
9154 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9156 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9163 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9167 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9178 nagios 20 0 0 0 0 Z 3.8 0.0 0:00.02 nagios <defunct>
9174 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9179 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9182 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
Kann mir jemand helfen, die Ursache dieser Zombie-Prozesse herauszufinden und wie ich diese Zombie-Prozesse verhindern kann?
Antwort1
Nagios hat den Signalhandler für SIGCHLD noch nicht ausgeführt. Dies könnte daran liegen, dass er in der Ausführungswarteschlange wartet oder mit der Verarbeitung eines anderen Signals beschäftigt ist. Solange diese schnell verschwinden, besteht kein Grund zur Sorge.