Eu gostaria de obter uma lista de todos os processos que descendem (por exemplo, filhos, netos, etc.) $pid
. Esta é a maneira mais simples de criar:
pstree -p $pid | tr "\n" " " |sed "s/[^0-9]/ /g" |sed "s/\s\s*/ /g"
Existe algum comando ou alguma maneira mais simples de obter a lista completa de todos os processos descendentes?
'\n'
delimitado x ' '
delimitado). O caso de uso prático é: a) um script daemonizer que escrevi com puro masoquismo (especificamente, a funcionalidade "stop" tem que lidar com qualquer árvore de processos que o processo daemonized gerou); e b) um script tempo limite que vai matar qualquer que seja a excedido processo conseguiu criar.
kill
. Veja unix.stackexchange.com/questions/9480/... , unix.stackexchange.com/questions/50555/...
ps ax -opid,ppid,pgrp,cmd
vejo que existem muitos processos que compartilham o mesmo pgrp
que a subárvore exata que quero matar. (Além disso, eu não posso ver o setpgrp
programa listado em qualquer lugar pacotes estável do Debian: packages.debian.org/... )