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