Comment tuer les processus zombies sous Linux

processus zombie

Comment saurez-vous le processus zombie ou morts sous Linux sont des processus qui ont été terminés, mais qui apparaissent toujours dans la table des processus en raison d'une incompatibilité de processus parent-enfant. Le processus parent contrôle l'état des processus enfants à l'aide de la fonction attendre(), et lorsque l'enfant se termine, cette fonction indique au parent de tuer le processus à partir de la mémoire.

Cependant, si le processus parent ne parvient pas à appeler une telle fonction pour l'un de ses processus enfants, ces processus enfants resteront "vivants" et occuperont des ressources système qui pourraient être utilisées par d'autres processus, affectant les performances. C'est pourquoi il est important de faire des kills de temps en temps pour tuer tous ces processus zombies. Pour ce faire, deux moyens peuvent être mis en avant : par l'IHM ou par le terminal :

via la borne

processus zombie

Pour tuer les processus zombies sous Linux, vous devez d'abord identifier ces processus, puis les tuer. Eh bien, cela pourrait être fait avec des outils comme ps, top, etc. Vous pouvez utiliser celui que vous aimez le plus. Par exemple, voici deux des commandes que vous pouvez utiliser pour détecter s'il y a des processus zombies:

top

ps axo stat,ppid,pid,comm | grep -w defunct

Dans le premier cas, c'est une commande interactive qui vous montre les processus et vous montrera sur la deuxième ligne (comme vous pouvez le voir dans l'image) le nombre de processus zombies qu'il y a en ce moment (dans cette image 11). De plus, vous pouvez faire défiler la liste des processus et, dans la colonne S, vous pouvez voir l'état. Si c'est marqué Z, alors c'est un zombie.

Dans le second cas, il vous montrera simplement une sortie avec les processus zombies que vous avez en cours d'exécution.

Il est important, dans un cas comme dans l'autre, de faire attention au PID des processus zombies pour les tuer avec :

sudo kill -9 PID

Vous remplacer PID par le numéro de processus dans votre cas. De plus, si cela ne fonctionne pas, vous avez probablement besoin de privilèges, vous devrez donc utiliser sudo devant la commande...

Via l'interface graphique

moniteur système, processus

Vous pouvez également le faire à l'aide d'outils graphiques, si vous n'avez pas beaucoup de dextérité avec le terminal et les commandes. Par exemple, vous pouvez utiliser des moniteurs système, tels que Moniteur système ou similaire. Et là aussi, vous devez d'abord localiser les processus zombies, puis les tuer :

  1. Ouvrez le Moniteur système.
  2. Accédez à l'onglet Processus.
  3. Maintenant, à l'aide de l'outil de recherche (loupe), recherchez le terme zombie.
  4. Sur les processus qui apparaissent dans la liste, cliquez dessus avec le bouton droit de la souris et appuyez sur Kill.

Il est important que vous vous assuriez qu'il s'affiche tous les processus du système. Pour vérifier cela, allez dans le menu des paramètres du moniteur système et regardez les options qui sont cochées.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.