Chciałbym uzyskać listę wszystkich procesów, które zstępują (np. Dzieci, wnuki itp.) $pid
. Oto najprostszy sposób, jaki wymyśliłem:
pstree -p $pid | tr "\n" " " |sed "s/[^0-9]/ /g" |sed "s/\s\s*/ /g"
Czy istnieje jakieś polecenie lub prostszy sposób na uzyskanie pełnej listy wszystkich procesów potomnych?
'\n'
rozdzielanie czy ' '
rozdzielanie). Praktycznym przykładem użycia jest: a) skrypt demonizatora, który napisałem z czystego masochizmu (konkretnie, funkcja „stop” ma do czynienia z dowolnym drzewem procesów, które pojawił się proces demonizowany); oraz b) skrypt przekroczenia limitu czasu, który zabije wszystko, co udało się stworzyć proces przekroczenia limitu czasu.
kill
. Zobacz unix.stackexchange.com/questions/9480/… , unix.stackexchange.com/questions/50555/...
ps ax -opid,ppid,pgrp,cmd
Widzę, że istnieje wiele procesów, które współużytkują dokładnie to samo pgrp
poddrzewo, które chcę zabić. (Dodatkowo nie widzę setpgrp
programu nigdzie wymienionego w pakietach stabilnych Debiana: packages.debian.org/… )