グループのプロセスのリストを表示するには?

グループのプロセスのリストを表示するには?

特定の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これは0pgrep自身のプロセスグループを意味します。

$ cat | cat | cat | pgrep -ag0
7301 cat
7302 cat
7303 cat

pgrepリストに自分を含めず、pkill自分を終了しません。)

答え3

ダーウィンはps -g $pgid要求どおりに動作します。

Linuxでは動作しないため、別のソリューションを使用する必要があります。これを使用して、ps --ppid $ppid特定の親プロセスのすべての子プロセスを一覧表示できます。

関連情報