Je voudrais obtenir une liste de tous les processus qui en découlent (par exemple les enfants, les petits-enfants, etc.) $pid
. C'est la manière la plus simple que j'ai trouvée:
pstree -p $pid | tr "\n" " " |sed "s/[^0-9]/ /g" |sed "s/\s\s*/ /g"
Existe-t-il une commande ou un moyen plus simple d'obtenir la liste complète de tous les processus descendants?
'\n'
délimité vs ' '
délimité). Le cas d'utilisation pratique est: a) un script démoniseur que j'ai écrit à partir du masochisme pur (en particulier, la fonctionnalité "stop" doit gérer n'importe quelle arborescence de processus engendrée par le processus démonisé); et b) un script de temporisation qui tuera tout ce que le processus de temporisation a réussi à créer.
kill
. Voir unix.stackexchange.com/questions/9480/… , unix.stackexchange.com/questions/50555/…
ps ax -opid,ppid,pgrp,cmd
Je vois qu'il existe de nombreux processus qui partagent le même pgrp
que le sous-arbre exact que je veux tuer. (De plus, je ne vois aucun setpgrp
programme répertorié dans les paquets stables de Debian: packages.debian.org/… )