Я хотів би отримати список усіх процесів, які відбуваються (наприклад, діти, онуки тощо) $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 / ... )