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

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

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ホワイトペーパー

新着

ランキング

  1. ビジネスアプリケーション

    レガシーデータ基盤からの脱却が AI 活用の鍵--先進企業に学ぶクラウド移行の成功事例

  2. ビジネスアプリケーション

    AI 人材育成を単なる研修で終わらせない--事業を動かす AI スキル構築の 5 つのステップ

  3. ビジネスアプリケーション

    汎用 AI をビジネス仕様に。業務データを活かす AI アプリ開発の新しい前提「データ基盤」

  4. 仮想化

    コンテナ化だけで十分なのか。商用パッケージ運用の負荷を左右するOpenShiftの価値

  5. 経営

    月15万円から始めるSOC。セキュリティ人材を雇えない企業の、取引を止めない経営判断

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]