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,cmd
Veo que hay muchos procesos que comparten lo mismo pgrp
que el subárbol exacto que quiero matar. (Además, no puedo ver el setpgrp
programa en ninguna parte de los paquetes estables de Debian: packages.debian.org/… )