• 締切済み

シェルの作成について

UNIXで複数のバッチをクーロンで順次処理させたいのですが、A、B、Cと3種類バッチがあって、AとBは並列に稼動させてCはその2つが終わったあとに起動するといった処理をさせたい場合どのようにスクリプトを組めばよいのでしょうか? よろしくお願いします。

みんなの回答

回答No.2

そうでした。 (A & B); C では、Bが早期に終了してしまうと、Aがバックグラウンドで実行されたまま、Cの実行を開始してしまうので、うまくいかないですね。明示的にバックグラウンドの処理が終わるのを待つ必要があります。 (A & B; wait); C あるいは、括弧もいりませんが、 A & B; wait; C でどうでしょう?

legend3738
質問者

お礼

ご回答ありがとうございました。 wiatっていうものがあるのを調べてそれを試してみたのですが、とりあえずうまくいきました。が、エラー処理とか考えるとこれだけでは駄目なのですね。 さしあたってwaitを使用して、ゆっくり勉強したいと思います。ありがとうございました。

回答No.1

(A & B); C でいけるとおもいます

legend3738
質問者

補足

(A;B) & Cで作ってみたのですが、 ((A&B);CだとCって必ず実行されますよね?) Bとかでエラーが発生すると、処理がそこで中断されてしまいました。もう少し制御させるにはプログラムを組む必要があるのでしょうか? 大変申し訳ありませんが、ご指導いただけますようよろしくお願いします。