Я хотел бы получить список всех процессов, которые происходят (например, дети, внуки и т. Д.) $pid
. Это самый простой способ, которым я придумал:
pstree -p $pid | tr "\n" " " |sed "s/[^0-9]/ /g" |sed "s/\s\s*/ /g"
Есть ли какая-либо команда или более простой способ получить полный список всех процессов-потомков?
'\n'
разделитель и ' '
разделитель). Практический пример использования: а) сценарий демона, который я написал из чистого мазохизма (в частности, функциональность «стоп» должна иметь дело с любым деревом процессов, порожденных демонизированным процессом); и b) сценарий тайм-аута, который уничтожит все, что удалось создать процессу тайм-аута.
kill
. См. Unix.stackexchange.com/questions/9480/… , unix.stackexchange.com/questions/50555/…
ps ax -opid,ppid,pgrp,cmd
Я вижу, что есть много процессов, которые разделяют то же самое, pgrp
что и точное поддерево, которое я хочу убить. (Кроме того, я нигде не вижу setpgrp
программу, указанную в стабильных пакетах debian: packages.debian.org/… )