Bonjour,
pour effectuer des tests automatisés de bon fonctionnement d'une distribution, j'ai réalisé un script qui lance et ferme une à une des applications avec une redirection d'erreur.
Pour fermer l'application, je la tue par un kill avec son PID tel qu'il est renvoyé par $!.
Mais certaines applications (des applications python par exemple) lancent elles-même des processus enfants. Mon
ne ferme donc pas tous les processus de l'application. Il me faut récupérer les PID des processus enfants pour les fermer également.
Code : Sélectionner tout - Visualiser dans une fenêtre à part kill $!
J'ai remarqué, en testant en ligne de commande, qu'en tuant le tout dernier processus enfant, cela tuait tous les processus de l'application.
Mes questions sont donc les suivantes:
- pouvez-vous me confirmer qu'en toutes circonstances tuer le dernier processus enfant suffit bien à tuer tous les processus de l'application ?
- Comment récupérer le PID du dernier processus enfant ? Je vois bien une possibilité en l'extrayant de ce que renvoie
mais existe-t-il une solution plus simple ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part pstree -p
Merci d'avance pour vos éclairages.
Partager