İnişe geçen tüm süreçlerin (örneğin çocuklar, büyük çocuklar vb.) Bir listesini almak istiyorum $pid
. Bu, karşılaştığım en basit yol.
pstree -p $pid | tr "\n" " " |sed "s/[^0-9]/ /g" |sed "s/\s\s*/ /g"
Tüm azalan işlemlerin tam listesini almak için herhangi bir komut veya daha basit bir yöntem var mı?
'\n'
sınırlandırılmış ve ' '
sınırlandırılmış umrumda değil ). Pratik kullanım örneği: a) saf mazoşizmden yazdığım bir daemonizer betiği (özellikle, "dur" işlevinin, bu daemonize edilen sürecin doğduğu her hangi bir işlem ağacı ile ilgilenmesi gerektiği); ve b) zaman aşımına uğrayan sürecin oluşturmayı başardığı her şeyi öldürecek bir zaman aşımı komut dosyası.
kill
. Bkz. Unix.stackexchange.com/questions/9480/… , unix.stackexchange.com/questions/50555/…
ps ax -opid,ppid,pgrp,cmd
aynı olan birçok işlem olduğunu görüyorum pgrp
. (Ayrıca, ben göremiyorum setpgrp
: debian kararlı paketlerinde her yerde listelenen programı packages.debian.org/... )