Me gustaría obtener una lista de todos los procesos que descienden (por ejemplo, hijos, nietos, etc.) $pid. Esta es la forma más simple que se me ocurrió:
pstree -p $pid | tr "\n" " " |sed "s/[^0-9]/ /g" |sed "s/\s\s*/ /g"
¿Hay algún comando, o alguna forma más simple de obtener la lista completa de todos los procesos descendientes?
'\n'delimitado frente a ' 'delimitado). El caso de uso práctico es: a) un script daemonizer que escribí por puro masoquismo (específicamente, la funcionalidad "stop" tiene que lidiar con cualquier árbol de procesos que generó el proceso demonizado); y b) una secuencia de comandos de tiempo de espera que matará a cualquiera que sea el tiempo de espera superado el proceso se gestiona a crear.
kill. Ver unix.stackexchange.com/questions/9480/… , unix.stackexchange.com/questions/50555/…
ps ax -opid,ppid,pgrp,cmdVeo que hay muchos procesos que comparten lo mismo pgrpque el subárbol exacto que quiero matar. (Además, no puedo ver el setpgrpprograma en ninguna parte de los paquetes estables de Debian: packages.debian.org/… )