Entrambi Zombie
e defunct
sono uguali. ZOMBIE
è quello del state of the process
mentre non c'è defunct
state, puoi vederlo dal codice sorgente del tuo kernel.
enum proc_state {
UNUSED, /*** processes in initial state **/
EMBRYO,
SLEEPING,
RUNNABLE,
RUNNING,
ZOMBIE /** processes in final state **/
};
Stato di zombi significa dove è uscito ma non è stato ancora ripulito .
puoi aprire la pagina man di proc(1)
e vedi questo /proc/[pid]/stat
Informazioni sullo stato del processo. Questo è usato da ps(1)
.
Per Linux i processi "defunti" e "zombie" sono gli stessi.
Da man ps
:
Processi contrassegnati
<defunct>
sono processi morti (i cosiddetti "zombi") che rimangono perché il loro genitore non li ha distrutti correttamente. Questi processi verranno distrutti da init(8) se il processo padre esce.
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
Come disse Achal defunto fu aggiunto da ps. A rigor di termini, non sono la stessa cosa.
Ad esempio, solo tid 10941 era uno zombi nella tabella seguente. Gli altri thread erano in stat D anziché 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>