Bash/zombies

Un article de Le wiki de 2 noisettes - noisette.ch.


La commande

ps -A -ostat,ppid,pid,cmd

liste, pour chaque processus, son état, le PID de son parent, son PID et la commande qui est responsable du lancement de ce processus.

Genre :

STAT PPID PID CMD
S 0 1 init [3]
SN 1 2 [ksoftirqd/0]
S< 1 3 [events/0]
...

Les zombies ont leur état à Z. On peut donc les isoler grâce à la commande

ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'

Puis le principe pour faire partir les zombies, c'est de reloader son parent.

ps -A -ostat,ppid | grep -e '^[Zz]' | awk '{print $2}' | xargs kill -HUP

Les autres états possible d'un processus sont :

S : sleeping
R : running
D : waiting (over het algemeen voor IO)
T : gestopt (suspended) of getrasseerd
Z : zombie (defunct)