Maison  >  Article  >  Opération et maintenance  >  Que faire si le processus zombie Linux ne peut pas être tué

Que faire si le processus zombie Linux ne peut pas être tué

WBOY
WBOYoriginal
2022-05-23 14:38:207823parcourir

Solution au processus zombie Linux qui ne peut pas être tué : 1. Utilisez la commande cat pour afficher l'ID du processus parent du processus zombie. La syntaxe est "ID/statut du processus cat /proc/zombie" ; kill pour afficher l'ID du processus parent. Tuez-le simplement, la syntaxe est "kill -9 numéro de processus du processus parent".

Que faire si le processus zombie Linux ne peut pas être tué

L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.

Que faire si le processus zombie Linux ne peut pas être tué

Vous pouvez utiliser la commande kill pour mettre fin au processus dans le système Linux. Malgré son nom, la commande kill et un ensemble d'autres commandes (telles que pdill et killall) sont écrites/conçues pour envoyer certains signaux à un ou plusieurs processus. Lorsqu'il n'est pas spécifié, le signal par défaut qu'il envoie est le signal SIGTERM qui termine le processus.

Lorsque le processus parent meurt ou est tué et que son processus enfant ne meurt pas avec son processus parent, nous appelons le processus un processus orphelin.

Comment tuer les processus zombies

D'un autre côté, les processus zombies ne peuvent pas être tués Si vous voulez demander ? Parce qu'ils sont déjà morts !

Une fois chaque processus enfant terminé, il deviendra un processus zombie, puis supprimé par son processus parent. Lorsqu'un processus quitte son existence et libère les ressources qu'il a utilisées, son nom figure toujours dans la table des processus du système d'exploitation. Son nom est ensuite supprimé de la table des processus par le processus de son parent. En cas d'échec, nous avons un processus zombie, mais ce n'est plus un processus réel, mais simplement une entrée dans la table des processus du système d'exploitation.

C'est pourquoi même utiliser la commande kill -9 (SIGKILL) sur un processus mort (zombie) ne fonctionne pas, car il n'y a rien à tuer.

Donc, pour tuer un processus zombie et supprimer son nom de la liste des processus, vous devez tuer son processus parent. Par exemple, si le PID 5878 est un processus zombie et que son parent est le PID 4809, pour tuer le zombie (5878), terminez également le PID 4809 :

sudo kill -9 4809 #4809 is the parent, not the zombie

Mais soyez très prudent lorsque vous tuez le processus parent. Si le parent du processus est PID 1 et que vous le tuez, le système sera redémarré

Exemples sont les suivants :

1. Affichez le processus parent en fonction du processus enfant

cat /proc/pid/status

Que faire si le processus zombie Linux ne peut pas être tué

. 2. Utilisez « Kill -9 le numéro de processus du processus parent » pour supprimer le processus parent

Que faire si le processus zombie Linux ne peut pas être tué

Apprentissage recommandé : Tutoriel vidéo Linux

 ;

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn