196 votes

Comment tuer un processus zombie

J'ai lancé mon programme en avant-plan ( un programme deamon). et ensuite je l'ai tué avec kill -9 mais il reste un zombie et je ne peux pas le tuer avec kill -9 . Comment tuer un processus zombie ?

Si le zombie est un processus mort (déjà tué), comment puis-je le supprimer de la sortie de ps aux ?

root@OpenWrt:~# anyprogramd &
root@OpenWrt:~# ps aux | grep anyprogram
 1163 root      2552 S    anyprogramd
 1167 root      2552 S    anyprogramd
 1169 root      2552 S    anyprogramd
 1170 root      2552 S    anyprogramd
10101 root       944 S    grep anyprogram
root@OpenWrt:~# pidof anyprogramd
1170 1169 1167 1163
root@OpenWrt:~# kill -9 1170 1169 1167 1163
root@OpenWrt:~# ps aux |grep anyprogram
 1163 root         0 Z    [cwmpd]
root@OpenWrt:~# kill -9 1163
root@OpenWrt:~# ps aux |grep anyprogram
 1163 root         0 Z    [cwmpd]

2 votes

Qu'est-ce que ps -o ppid 1163 dire ? C'est-à-dire, qui est le parent de 1163 ? C'est le processus auquel il faut mettre fin.

1voto

Thiago Conrado Points 104

Parfois le ppid parent ne peut pas être tué, donc tuer le pid zombie.

kill -9 $(ps -A -ostat,pid | awk '/[zZ]/{ print $2 }')

0voto

Yasin Yaqoobi Points 1247

Sur Mac, aucune des commandes/instructions ci-dessus n'a fonctionné. Pour supprimer les processus zombies, vous pouvez faire un clic droit sur l'icône docker->troubleshot->nettoyer/purger les données.

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X