ループ付きのスクリプトがあります。
while read host
do
./script &
done
./scriptでバックグラウンドで始まる現在のプロセスのプロセスIDを知り、スクリプトで使用したいと思います。
答え1
POSIXシェル(例bash
:)を想定すると、これは$$
現在のシェルのPIDであり、$PPID
親シェルのPIDでもあります。$$
スクリプトに渡すか、$PPID
スクリプトで値を確認できます。
答え2
現在、シェルのプロセスIDは特殊変数にあります$$
。
これを分岐(バックグラウンド)プロセスに渡すことができます。
./script $$ &
「スクリプト」では、これが最初の引数になります。したがって、次のようになります。
parent_pid=$1
要約がありますここでbashの特殊変数。