Unixでjobを順序づけて流すには?

OKWave 2008年01月16日 14時00分

  • このエントリーをはてなブックマークに追加
Unixでjobを順序づけて流すには?

Unix系のOSで、jobを順序づけて流すにはどのようにしたらいいのでしょうか? 例えば、job-1を流し、job-1が終了したらjob-2とjob-3を並列に走らせ、そのどちらも終わったらjob-4を流す、ということをしたいのです。ここでjob-1,2,...はlinux上で動く社内で開発されたperl/tcl scriptです。ただ単にjob-1,2,3を順番に流すのならば、shell上で、 job-1; job-2; job-3 あるいは
job-1 && job-2 && job-3 とタイプすればいいのですが、質問している例ですと、「job-2とjob-3を並列に走らせ」という点と、「job-2, job-3が両方終わったらjob-4を流す」というところをどうすればいいのかわからないのです。こうさせたい理由は、job-2,3はどちらもjob-1の作ったファイルを入力として使い、job-4はjob-2とjob-3の作ったファイルを入力として使うからです。shell scriptを使うとできるのかなと想像するのですが、わからないので、教えていただけたらありがたいです。よろしくお願いします。

良回答

#1です
スクリプトだけで実行するには


job-1
job-2 &
job-3 &
wait
job-4

バックグランドプロセスを使いましたが、エラー処理とかが困難なのであまり好きでないです

  • このエントリーをはてなブックマークに追加
関連キーワード
OS

SpecialPR

  • 「奉行シリーズ」の電話サポート革命!活用事例をご紹介

    「ナビダイヤル」の「トラフィックレポート」を利用したことで着信前のコール数や
    離脱数など、コールセンターのパフォーマンスをリアルタイムに把握するに成功。詳細はこちらから

  • デジタル変革か?ゲームセットか?

    デジタルを駆使する破壊的なプレーヤーの出現、既存のビジネスモデルで競争力を持つプレイヤーはデジタル活用による変革が迫られている。これを読めばデジタル変革の全体像がわかる!