2017-01-05 10 views
1

私は4つのタスクをUNIXで実行しますが、各タスクは前のタスクの完了に依存しています。前のタスクが、私はシェルスクリプトでそれを書くことができますどのようにUNIX依存のタスクの実行

nohup ./aa_batch_initial.ksh -s 10011 $UP 
nohup ./aa_batch_initial.ksh -s 10021 $UP 

を終了するまで

タスクを実行することはできませんか?

答えて

0

コマンドはシェルで順番に実行されます。つまり、コマンド(「タスク」)を次々に配置して順番に実行することができ、それらは順番に実行されます。したがって、次のコマンドは、前のコマンドが終了した後に常に開始されます。ここで

は、簡単なbashの例である:

#!/bin/bash 
echo `date +"%H:%M:%S"` >> test.out; 
sleep 5; 
echo `date +"%H:%M:%S"` >> test.out; 
sleep 5; 
echo `date +"%H:%M:%S"` >> test.out; 
sleep 5; 
echo `date +"%H:%M:%S"` >> test.out; 

ファイルtest.outでそのスクリプトの出力は次のとおりです。あなたがスクリプトからデタッチする場合

11:24:47 
11:24:52 
11:24:57 
11:25:02 

nohupユーティリティが唯一の場に出ますたとえば、リモートシステムで何かを実行したいが、インタラクティブセッションを開いたままにしたくない場合などです。その場合、スクリプト内の単一のコマンドではなく、nohupコマンドをスクリプトの実行に適用します。

screenユーティリティを使用すると、自由度が増しますが、切断してもシェルセッションを開いたままにしておき、後でそのセッションに再接続することができます。

1

bash &&では、コマンドを結合することができます。だからあなたの目的には次のようなことが必要です。

task1 && task2 && task3 && task4 
関連する問題