3つのシェルスクリプトを実行する必要があります。これはどうすればいいですか?私が知っているのは、最初の2つのスクリプトをバックグラウンドで実行していることです2つのシェルスクリプトを並行して実行してから、もう1つ実行します。
sh script1.sh &
sh script2.sh &
sh script3.sh &
私は第3のスクリプトがこれでも続けると考えています。
3番目のスクリプトはどのように「待機」しますか?
3つのシェルスクリプトを実行する必要があります。これはどうすればいいですか?私が知っているのは、最初の2つのスクリプトをバックグラウンドで実行していることです2つのシェルスクリプトを並行して実行してから、もう1つ実行します。
sh script1.sh &
sh script2.sh &
sh script3.sh &
私は第3のスクリプトがこれでも続けると考えています。
3番目のスクリプトはどのように「待機」しますか?
wait
ビルトインを使用してください。それがなければならない:
sh script1.sh &
sh script2.sh &
wait
sh script3.sh
GNU parallel並列にコマンドを実行するためのツールである:
parallel -j2 ::: './script1.sh' './script1.sh' && ./script3.sh
両方SCRIPT1とスクリプト2は並列に実行され、両方の後に終了するscript3意志実行される。それは
'script1'と' script2'の終了ステータスによって 'script3'は動かないかもしれません。私は '&&。/ script3.sh'を';で置き換えます。 。/ script3.sh'。 – hek2mgl
必要とされている場合には
Parallel's tutorialは、より高度な動作のカスタマイズを示し、このいただきありがとうございます!これをやろう!私はwait関数がpidを持つべきだと思った。 – aftermath