Init NIEMALS ZOMBIE/DESTRECKT -Prozesse
-
19-09-2019 - |
Frage
Auf meinem Fedora Core 9 -Webserver mit Kernel 2.6.18 erntet Init keine Zombie -Prozesse. Dies wäre erträglich, wenn der Prozesstabelle wäre, der irgendwann eine Obergrenze erreicht, bei der keine neuen Prozesse zugewiesen werden können.
Probenausgabe von ps -el | grep 'Z'
:
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
5 Z 0 2648 1 0 75 0 - 0 exit ? 00:00:00 sendmail <defunct>
1 Z 51 2656 1 0 75 0 - 0 exit ? 00:00:00 sendmail <defunct>
1 Z 0 2670 1 0 75 0 - 0 exit ? 00:00:02 crond <defunct>
4 Z 0 2874 1 0 82 0 - 0 exit ? 00:00:00 mysqld_safe <defunct>
5 Z 0 28104 1 0 76 0 - 0 exit ? 00:00:00 httpd <defunct>
5 Z 0 28716 1 0 76 0 - 0 exit ? 00:00:06 lfd <defunct>
5 Z 74 10172 1 0 75 0 - 0 exit ? 00:00:00 sshd <defunct>
5 Z 0 11199 1 0 75 0 - 0 exit ? 00:00:00 sendmail <defunct>
5 Z 0 11202 1 0 75 0 - 0 exit ? 00:00:00 sendmail <defunct>
5 Z 0 11205 1 0 75 0 - 0 exit ? 00:00:00 sendmail <defunct>
5 Z 0 11208 1 0 75 0 - 0 exit ? 00:00:00 sendmail <defunct>
5 Z 0 11211 1 0 75 0 - 0 exit ? 00:00:00 sendmail <defunct>
5 Z 0 11240 1 0 75 0 - 0 exit ? 00:00:00 sendmail <defunct>
5 Z 0 11246 1 0 75 0 - 0 exit ? 00:00:00 sendmail <defunct>
5 Z 0 11249 1 0 75 0 - 0 exit ? 00:00:00 sendmail <defunct>
5 Z 0 11252 1 0 75 0 - 0 exit ? 00:00:00 sendmail <defunct>
1 Z 0 14106 1 0 80 0 - 0 exit ? 00:00:00 anacron <defunct>
5 Z 0 14631 1 0 75 0 - 0 exit ? 00:00:00 sendmail <defunct>
Ist das ein Betriebssystemfehler? Misskonfiguration? Ich suche Inspiration für die Quelle dieses Problems. Vielen Dank
Lösung
Dies hat mich auf 2 Arten auf Ubuntu getroffen:
Mit dem Kernel stimmt etwas nicht. In meinem Fall war ein Kernel -Fahrer abgestürzt und der Prozess gingen mit Bonkers. Der beste Weg, dies zu testen, ist das Überprüfen/var/log/syslog (und dmesg), um festzustellen, ob irgendetwas schief aussieht - z. B. "Fehler: Kernel -Nullzeiger Dereference bei 000000000000000028",
Das andere Mal, als ich dies gesehen habe, ist init nicht der "Elternteil des Kinderprozesses für die meisten Zwecke" (tatsächliches Zitat des Manpage). Dies kann passieren, wenn Sie die PTRACE -SYSCALL (das das Strace -Programm intern verwendet) an einem Prozess angeschlossen werden. Zum Beispiel habe ich mich in eine Situation eingelassen, in der ich Strace dem Kinderprozess B. schließlich so beendet, dass B endet, wie es sein Elternteil (nicht sicher ist, welche Reihenfolge). Prozess B sieht dann aus wie ein Zombie von Init. Die "meisten Zwecke" waren jedoch das Strace -Programm. Nach dem Töten des Strace wurde der Prozess B geerntet