Linux : Arrêt d’un processus zombie dans les environnements Linux
Résumé: Qu’est-ce qu’un processus zombie, comment le trouver et comment le tuer ou y mettre fin.
Cet article concerne
Cet article ne concerne pas
Cet article n’est associé à aucun produit spécifique.
Toutes les versions du produit ne sont pas identifiées dans cet article.
Instructions
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
Produits concernés
SUSE Linux Enterprise Server 12, Red Hat Enterprise Linux Version 7, Red Hat Enterprise Linux Version 9, Red Hat Enterprise Linux Version 8, SUSE Linux Enterprise Server 15, Ubuntu Server LTSPropriétés de l’article
Numéro d’article: 000019108
Type d’article: How To
Dernière modification: 03 févr. 2026
Version: 5
Trouvez des réponses à vos questions auprès d’autres utilisateurs Dell
Services de support
Vérifiez si votre appareil est couvert par les services de support.