Vorrei ottenere un elenco di tutti i processi da cui discendono (ad es. Bambini, nipoti, ecc.) $pid
. Questo è il modo più semplice con cui mi sono inventato:
pstree -p $pid | tr "\n" " " |sed "s/[^0-9]/ /g" |sed "s/\s\s*/ /g"
Esiste un comando o un modo più semplice per ottenere l'elenco completo di tutti i processi discendenti?
'\n'
delimitato o ' '
delimitato). Il caso d'uso pratico è: a) uno script daemonizer che ho scritto per puro masochismo (in particolare, la funzionalità "stop" ha a che fare con qualsiasi albero di processi generato dal processo demonizzato); e b) uno script di timeout che ucciderà qualunque cosa il processo di timeout sia riuscito a creare.
kill
. Vedi unix.stackexchange.com/questions/9480/… , unix.stackexchange.com/questions/50555/…
ps ax -opid,ppid,pgrp,cmd
vedo che ci sono molti processi che condividono lo stesso pgrp
sottoalbero esatto che voglio uccidere. (Inoltre, non riesco a vedere il setpgrp
programma elencato da nessuna parte nei pacchetti debian stable: packages.debian.org/… )