Bonjour,
je suis nouvelle sur ce forum car je viens de débuter une formation en Admin IT.
J’ai tenté de créer un script afin de démarrer un processus Zombie.
Avec la commande pas aux | grep Z je vois que le processus est en S+ mais quand je veux éliminer le zombie avec kill -9 il me dit no such process.
Quelqu’un peut m’aider svp?
J’utilise Debian via Virtualbox.
Merci à vous
# World War Z
Posté par Panhwein . Évalué à 1 (+0/-0).
Parce que tuer un enfant ne tue pas les parents?
Peut-être pkill ou killall avec le nom du processus en paramètre!
[^] # Re: World War Z
Posté par totof2000 . Évalué à 2 (+0/-0).
si le processus parent et le processus enfant n'ont pas le même nom, pkill ne fonctionnera pas. Et en lisant la page man de killal, je ne suis pas sûr non plus que cette commande fonctionne :
[^] # Re: World War Z
Posté par Panhwein . Évalué à 1 (+0/-0).
D’accord, mince… je n’avais pas pensé à ça!
Sur des sites ils parlent de ppid pour obtenir le pid du parent(en espérant qu’il ne base pas sur le nom)
Je teste pas, s’il y a des volontaires…
# c'est le propre des processus zombies ....
Posté par totof2000 . Évalué à 2 (+0/-0). Dernière modification le 29 novembre 2024 à 16:42.
ils ne peuvent être tués car ils ne sont ni vivants, ni complêtement morts, d'ou leur nom … :)
Explications sur wikipedia
[^] # Re: c'est le propre des processus zombies ....
Posté par Panhwein . Évalué à 1 (+0/-0). Dernière modification le 29 novembre 2024 à 16:45.
Il n'y à pas 50 facons de les éliminer :)
Je vais me faire un alias cuthead="killall"
# zombie ≠ endormi
Posté par Gil Cot ✔ (site web personnel, Mastodon) . Évalué à 2 (+0/-0).
Voici les codes d’état d’après un
man ps
en anglais :Donc
S
indique que le processus est en attente que certaines opérations se terminent. C’est souvent l’attente d’une entrée/sortie (par exemple une réponse réseau, ou la lecture de données sur un disque occupé, ou juste une action de la personne devant le programme si celui-ci est interactif.) Du coup, si tu ne le trouves pas en voulant l'éliminer, c’est simplement que le processus a été exhaussé (i.e. eu ce qu’il attendait) et c’est terminé entre temps.Les principaux signaux sont expliqués par exemple sur https://www.baeldung.com/linux/process-states
Nota : si tu n’es pas en train de faire un script portable (ce qui normalement te limiterait au
ps
POSIX), vu que tu es sous Debian (mais c’est présent dans la plupart des distributions GNU/Linux), tu peux remplacer tonps aux | grep foo
parpgrep foo
Par contre je ne l’ai jamais utilisé pour chercher l’état≥“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: zombie ≠ endormi
Posté par Benoît Sibaud (site web personnel) . Évalué à 3 (+0/-0).
exaucé plutôt (exhausser c'est surélever, et il va se faire descendre le processus)
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.