2017-12-28 8 views
2

3つのシェルスクリプトを実行する必要があります。これはどうすればいいですか?私が知っているのは、最初の2つのスクリプトをバックグラウンドで実行していることです2つのシェルスクリプトを並行して実行してから、もう1つ実行します。

sh script1.sh & 
sh script2.sh & 
sh script3.sh & 

私は第3のスクリプトがこれでも続けると考えています。

3番目のスクリプトはどのように「待機」しますか?

答えて

2

waitビルトインを使用してください。それがなければならない:

sh script1.sh & 
sh script2.sh & 
wait 
sh script3.sh 
+0

必要とされている場合には

Parallel's tutorialは、より高度な動作のカスタマイズを示し、このいただきありがとうございます!これをやろう!私はwait関数がpidを持つべきだと思った。 – aftermath

0

GNU parallel並列にコマンドを実行するためのツールである:

parallel -j2 ::: './script1.sh' './script1.sh' && ./script3.sh 

両方SCRIPT1スクリプト2は並列に実行され、両方の後に終了するscript3意志実行される。それは

+1

'script1'と' script2'の終了ステータスによって 'script3'は動かないかもしれません。私は '&&。/ script3.sh'を';で置き換えます。 。/ script3.sh'。 – hek2mgl

関連する問題