Arrêt d’un processus zombie dans les environnements Linux
Resumen: Qu’est-ce qu’un processus zombie, comment le trouver et comment le tuer ou y mettre fin.
Este artículo se aplica a
Este artículo no se aplica a
Este artículo no está vinculado a ningún producto específico.
No se identifican todas las versiones del producto en este artículo.
Instrucciones
Qu’est-ce qu’un processus zombie :
Il s’agit d’un processus qui s’est terminé, mais qui n’est pas entièrement retiré immédiatement de la mémoire, car son descripteur de processus reste en mémoire.
Quel doit être le comportement normal d’un processus :
Lorsqu’un processus se termine, son statut devient
Le processus parent est alors censé exécuter la commande
Comment trouver un processus zombie :
Exécution de la commande
Exécution de la commande
Comment mettre fin aux processus zombies qui s’accumulent :
La plupart du temps, les processus zombies ont le même ID de processus parent.
Il existe deux méthodes pour supprimer le processus :
Il s’agit d’un processus qui s’est terminé, mais qui n’est pas entièrement retiré immédiatement de la mémoire, car son descripteur de processus reste en mémoire.
Quel doit être le comportement normal d’un processus :
Lorsqu’un processus se termine, son statut devient
EXIT_ZOMBIE et le parent du processus est averti que son processus enfant est mort avec le SIGCHLD signal.
Le processus parent est alors censé exécuter la commande
wait() Pour que l’appel système lise l’état de sortie du processus inactif et d’autres informations. Après wait() est appelé, le processus zombie est supprimé de la mémoire. Cela se produit rapidement, de sorte que vous ne voyez pas les processus zombies s’accumuler sur votre système. Mais dans les cas où nous voyons plusieurs processus zombies s’accumuler, il s’agit d’une situation où le code du programme n’est pas efficace.
Comment trouver un processus zombie :
Exécution de la commande
top
Exécution de la commande
ps -ef | grep defunct
Comment mettre fin aux processus zombies qui s’accumulent :
La plupart du temps, les processus zombies ont le même ID de processus parent.
Il existe deux méthodes pour supprimer le processus :
- Envoyer le
SIGCHLDsignal au processus parent.
Ce signal indique au processus parent d’exécuter la commande
wait() Appel système et nettoyage de ses enfants zombies :
kill -s SIGCHLD <PPID>
Exemple :
kill -s SIGCHLD 2201
- Tuer le processus parent zombie
kill -9 <PPID>
Exemple :
kill -9 2201
Productos afectados
Dell OpenManage Enterprise, NetWorker SeriesPropiedades del artículo
Número del artículo: 000019108
Tipo de artículo: How To
Última modificación: 12 abr 2025
Versión: 4
Encuentre respuestas a sus preguntas de otros usuarios de Dell
Servicios de soporte
Compruebe si el dispositivo está cubierto por los servicios de soporte.