GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi ne puis-je pas tuer ce processus sous Linux ?

Pour répondre à la question numéro 1 :

Lorsqu'un processus génère des processus enfants, les enfants ont chacun leur propre PID. Le PPID de chaque enfant (ID de processus parent) est le PID de leur processus parent. Si le parent meurt, les processus enfants sont orphelins. Les processus orphelins sont automatiquement récupérés par le processus d'initialisation du système qui a un PID de 1.


Problème

Votre script crée probablement des zombies à cause de votre kill -9 commandes ; comme suggéré par jjlin answer aussi n'est jamais une bonne pratique pour tuer brusquement un processus sans y être forcé.

À partir de man bash on peut lire :

Les processus marqués sont des processus morts (appelés "zombies ") qui restent parce que leur parent ne les a pas détruits correctement .Ces processus seront détruits par init(8) si le processus parent se termine.

Réponse 1 : Le processus init a le PID 1 et pour cela Linux leur attribue le parent avec le PID 1 (car il les attribue à init ).

Réponse 2 : Ils ne peuvent pas être tués simplement parce qu'ils sont juste morts ... si leur parent a init suffit probablement d'attendre un peu de temps.

Pour supprimer les zombies d'un système, le signal SIGCHLD peut être envoyé manuellement au parent, à l'aide de la commande kill. Si le processus parent refuse toujours de récolter le zombie, l'étape suivante consiste à supprimer le processus parent. Lorsqu'un processus perd son parent, init devient son nouveau parent. Init exécute périodiquement l'appel système wait pour récolter tous les zombies avec init comme parent. [1]

Au cas où cette idée surgirait un jour ou l'autre :au #kill -9 init processus avec privilège root est l'équivalent logiciel pour débrancher physiquement l'ordinateur du réseau électrique. [:-)]

Cependant, les processus zombies peut être identifié dans la sortie de ps commande par la présence d'un "Z" dans le STAT colonne. Vous pouvez utiliser la ligne suivante pour les identifier facilement

ps -aux | grep Z

Quelques références sur le monde des zombies sous Linux :

  • Existe-t-il un moyen de tuer un processus zombie sans redémarrage ?
  • Que sont les processus zombies
  • Comment tuer le processus zombie
  • [1] À partir de nombreuses sources sur le net

Linux
  1. Linux - Quand ne devrais-je pas tuer -9 Un processus ?

  2. Comment tuer un processus sous Linux en utilisant la commande ?

  3. Pourquoi le processus enfant est-il toujours en vie après la suppression du processus parent sous Linux?

  4. Comment tuer le processus zombie

  5. Pourquoi ne puis-je pas supprimer ce fichier en tant que root ?

Comment tuer un processus sous Linux ? Commandes pour terminer

Comment tuer un processus sous Linux

Commande Kill sous Linux

Comment tuer les processus Zombie sous Linux

5 façons rapides de tuer un processus sous Linux

Comment tuer un processus sous Linux