2016-07-14 21 views
1

発行されたマルチスレッドアプリケーションのプロセス番号を取得するにはどうすればよいですか?つまり、コマンド実行後にプロセス番号をリストに入れたbashスクリプトを探しています。例:マルチスレッドアプリケーションのプロセス番号を見つける

#!/bin/bash 
./run_program -nt 4 
# find the list of PIDs 
+0

'pstreeは-p $ SOME_PID' – xxfelixxx

+0

@xxfelixxx' pstreeは-p $$ '' – 123

+0

:あなたは、現在のプロセスの子PIDを見ている場合

は、あなたが-Pオプションを使用することができますpstreeはグラフィカルな表示を示す。私はちょうどPID(数字)をしたい – mahmood

答えて

2

にアクセスすることができます。

pgrep -P $$ 
1

と仮定します。run_programは、ps pid listに同じ実行パスを作成します。

ARRAY=($(ps -fe | grep run_program | grep -v grep | awk '{print $2}' ORS=' ')) 

、あなたは私がプロセスIDをチェックするためpgrepを使用する例では

echo ${ARRAY[2]} 
関連する問題