Beide Zombie
und defunct
sind gleich. ZOMBIE
ist einer der state of the process
während es kein defunct
gibt Zustand, können Sie es aus Ihrem Kernel-Quellcode sehen.
enum proc_state {
UNUSED, /*** processes in initial state **/
EMBRYO,
SLEEPING,
RUNNABLE,
RUNNING,
ZOMBIE /** processes in final state **/
};
Zombie-Zustand bedeutet, dass er ausgetreten ist, aber noch nicht bereinigt wurde .
Sie können die Manpage von proc(1)
öffnen und sehen Sie sich diesen /proc/[pid]/stat
an Statusinformationen zum Prozess. Dies wird von ps(1)
verwendet .
Für Linux sind "nicht mehr funktionierende" und "Zombie"-Prozesse gleich.
Ab man ps
:
Mit <defunct>
gekennzeichnete Prozesse sind tote Prozesse (sogenannte "Zombies"), die übrig bleiben, weil ihr Elternteil sie nicht richtig zerstört hat. Diese Prozesse werden von init(8) zerstört, wenn der übergeordnete Prozess beendet wird.
PROCESS STATE CODES
Here are the different values that the s, stat and state output specifiers (header "STAT" or "S") will display to describe the state of a process:
D uninterruptible sleep (usually IO)
R running or runnable (on run queue)
S interruptible sleep (waiting for an event to complete)
T stopped by job control signal
t stopped by debugger during the tracing
W paging (not valid since the 2.6.xx kernel)
X dead (should never be seen)
Z defunct ("zombie") process, terminated but not reaped by its parent
Wie Achal sagte, wurde Verstorbener von ps hinzugefügt. Streng genommen sind sie nicht dasselbe.
Zum Beispiel war nur tid 10941 in der folgenden Tabelle ein Zombie. Die anderen Threads waren in stat D statt in Z.
$ grep prometheus foo/bar/sos_commands/process/ps_-elfL
4 Z root 10941 10920 10941 0 6 80 0 - 0 exit Mar14 ? 00:11:41 [prometheus] <defunct>
1 D root 10941 10920 11010 0 6 80 0 - 621811 wait_o Mar14 ? 00:11:08 [prometheus] <defunct>
1 D root 10941 10920 11025 0 6 80 0 - 621811 wait_o Mar14 ? 00:08:13 [prometheus] <defunct>
1 D root 10941 10920 11057 0 6 80 0 - 621811 wait_o Mar14 ? 00:11:12 [prometheus] <defunct>
1 D root 10941 10920 11060 0 6 80 0 - 621811 wait_o Mar14 ? 00:11:42 [prometheus] <defunct>
1 D root 10941 10920 11298 0 6 80 0 - 621811 wait_o Mar14 ? 00:11:05 [prometheus] <defunct>