? Un processus zombie est un processus d'ordinateur sur un système d'exploitation basé sur Unix qui a terminé l'exécution , mais a encore un numéro d'identification de processus gauche dans la table des processus du système d'exploitation. Ce sont les restes d'un processus plus large ou un programme qui a omis de percevoir et d'exécuter toutes les commandes de sortie pour quand le processus se termine . Ces processus ne prennent pas les cycles de CPU ou de l'espace mémoire cependant. Parce
code de programme défectueux conduit souvent à des processus ne se terminant pas correctement , ce qui entraîne dans les processus de zombies qui se posent dans les programmes en cours . Le programmeur n'a pas programmé un processus parent à utiliser le système " d'attente " appel pour permettre un processus fils pour exécuter de façon indépendante tandis que le parent est suspendu. Cela signifie que le processus enfant ne retourne un message d' état de sortie à la mère quand elle se termine , si le parent ne reçoit notification de la résiliation, et le processus d' enfant devient un processus zombie .
Considérations
ne vous précipitez pas pour mettre fin à des processus de zombies dès que vous les trouverez. Parfois processus parents quittent processus zombie à dessein afin que le même numéro d'identification de processus n'est pas donné à deux processus distincts au cours de la durée de vie du programme. Si vous ne voyez que quelques processus zombie à un moment qui ne sont pas persistants , les processus parents peuvent éventuellement y mettre fin . Toutefois, si votre système commence à ralentir avec une grande quantité de processus en cours , se terminant certains processus zombie peut améliorer les performances .
Localisation Zombies
l'aide d'un outil de commande Unix pour exécuter la commande "ps" - abréviation de l'état de processus - répertorie tous les processus en cours d'exécution sur un système. Tout processus répertorié comme « z » dans la colonne Stat est un processus zombie . Chacun de ces procédés qui existent alors que le programme processus parent ou est toujours en cours est indicative d'un code défectueux, tandis que les processus de zombies fonctionner sans un programme parent représentent généralement un bogue dans le système d'exploitation lui-même.
Tuer des zombies Photos, illustrations processus zombie
conservent les numéros d'identification de processus dans la table d'entrée de processus , afin d'avoir un trop grand nombre d'entre eux font cause votre système de fonctionner sur ces chiffres. Toutefois, vous pouvez forcer la fin des processus de zombies pour libérer leurs valeurs d'ID de processus dans le tableau. Y mettre fin en utilisant la commande "kill- s SIGCHLD ", où " ppid " représente l' ID de processus du zombie parent. Alternativement, vous pouvez forcer tuer processus parents de mettre fin à tous les enfants et les processus de zombies qu'ils ont créés ainsi .