ITコンサルの日常

ITコンサル会社に勤務する普通のITエンジニアの日常です。

cshでバックグラウンドプロセスを待ち合わせる

シェルでバックグラウンドプロセスを待ち合わせることって出来る?と聞かれて、psコマンドの出力をgrepでひっかけるというやり方で書いてみたんですが、なんかwaitとかいう命令で出来るとかで、逆に教えられることになってしまいました。。

以下、サンプル。

■a.csh

#!/usr/bin/csh

echo "a.csh start"

./b.csh &
./b.csh &

wait

echo "a.csh end"

■b.csh

#!/usr/bin/csh

echo "b.csh start"

sleep 2

echo "b.csh end"

■実行例

$ ./a.csh
a.csh start
[1] 3924
[2] 1940
b.csh start
b.csh start
b.csh end
b.csh end
[2]    Done                          ./b.csh
[1]  + Done                          ./b.csh
a.csh end
$