特定のPGIDに関するすべてのプロセスとその情報を一覧表示する簡単なコマンドが必要です。
答え1
pgrpにそれに基づいて選択するように事前に指示する方法が見つからなかったps
ため、列を要求してから次のようにフィルタリングする必要があります。
ps axo pgrp,stat,euid,ruid,tty,tpgid,sess,ppid,pid,pcpu,comm | awk -v pgrp=3668 '$1 == pgrp'
ps -eo pgrp,pid,comm | sed -n -e 1p -e ' /3668/ p'
PGRP=3668; ps -eo pgrp,pid,comm | sed -n -e 1p -e " / $PGRP / p"
答え2
pgrep -ag PGID
もしそうなら、PGID
これは0
pgrep自身のプロセスグループを意味します。
$ cat | cat | cat | pgrep -ag0
7301 cat
7302 cat
7303 cat
(pgrep
リストに自分を含めず、pkill
自分を終了しません。)
答え3
ダーウィンはps -g $pgid
要求どおりに動作します。
Linuxでは動作しないため、別のソリューションを使用する必要があります。これを使用して、ps --ppid $ppid
特定の親プロセスのすべての子プロセスを一覧表示できます。