2016-10-07 4 views
1

特定の端末ののフォアグラウンドプロセスグループ内のすべてのプロセスのPIDを表示するbashスクリプトを作成するにはどうすればよいですか私はスクリプトを実行する)?私はC関数tcgetpgrpが仕事をすることができることを知っていますが、もっと簡単にこれを行うことができるコマンドラインユーティリティが存在するかどうかは疑問です。端末のフォアグラウンドプロセスグループ内のすべてのプロセスを一覧表示するBashスクリプト

答えて

1

pts/29のフォアグラウンドプロセスグループのすべてのプロセスのPIDを検索するには、あなたは(Linux上で)行うことができます。

ps ao stat=,pid=,tty= | awk '$1 ~ /\+/ && $3 ~ /pts\/29/{ print $2}' 

psが異なることが多い、と私はその解決策の移植性については不明です。

+0

ありがとうございました。私は、 '+'の前に '\'があるべきだと思います。あなたはあなたの答えを編集できますか? –

0

pgrep-tフラグを使用すると、特定のttyを使用してプロセスを一覧表示できます。例えば

# on a first ssh session, which gets pts/0 : 
sleep 10 


# on a second ssh session : 
pgrep -t "pts/0" 
1234 # the first session's bash process 
5678 # the first session's sleep process 
関連する問題