Ich möchte eine Liste aller Prozesse erhalten, von denen ich abstamme (z. B. Kinder, Enkelkinder usw.) $pid
. Dies ist der einfachste Weg, den ich mir ausgedacht habe:
pstree -p $pid | tr "\n" " " |sed "s/[^0-9]/ /g" |sed "s/\s\s*/ /g"
Gibt es einen Befehl oder eine einfachere Möglichkeit, die vollständige Liste aller untergeordneten Prozesse abzurufen?
'\n'
, ob es ' '
abgegrenzt oder abgegrenzt ist). Ein praktischer Anwendungsfall ist: a) ein Daemonizer-Skript, das ich aus reinem Masochismus geschrieben habe (insbesondere muss die "Stop" -Funktionalität sich mit jedem Prozessbaum befassen, den der daemonisierte Prozess hervorgebracht hat); und b) ein Zeitüberschreitungsskript, das alle durch die Zeitüberschreitung verursachten Vorgänge beendet.
kill
. Siehe unix.stackexchange.com/questions/9480/... , unix.stackexchange.com/questions/50555/...
ps ax -opid,ppid,pgrp,cmd
Ich sehe, dass es viele Prozesse gibt, die den gleichen pgrp
Teilbaum haben, den ich töten möchte. (Außerdem kann ich das setpgrp
Programm nirgends in den stabilen