は次のようなものです:並行性と待機時間を持つ複数のコマンドを実行するにはどうすればよいですか?私が達成したい何
#!/bin/sh
concurrency_limit 3
#takes 5 min
(/usr/bin/my-process-1 --args1 && /usr/bin/my-process-2 --args1) &
#takes 10 min
(/usr/bin/my-process-1 --args2 && /usr/bin/my-process-2 --args2) &
#takes 15 min
(/usr/bin/my-process-1 --args3 && /usr/bin/my-process-2 --args3) &
#takes 5 min
(/usr/bin/my-process-1 --args4 && /usr/bin/my-process-2 --args4) &
#takes 10 min
(/usr/bin/my-process-1 --args5 && /usr/bin/my-process-2 --args5) &
#takes 20 min
(/usr/bin/my-process-1 --args6 && /usr/bin/my-process-2 --args6) &
wait max_limit 1200
echo all processes complete
全体的に予想される最大実行時間が20分( - + 1分)との私は3つのCPUコア用意して、私はしたくないと仮定してみましょう3つ以上のプロセスが同時に実行されています。
スクリプトの最初に3つのプロセスが開始されました。
5分後:第1のプロセスが終了し、第4のプロセスが開始された。
10分目:2番目と4番目のプロセスが終了し、5番目のプロセスが開始されました。
15分:3番目のプロセスが終了しました。
20分目:5番目のプロセスが終了しました。さらに待つことなく、6番目のプロセスが強制終了されます。
私はstackoverflowの中に多くの研究をしましたが、私は同様の使用方法のケースを見つけることができませんでした:https://www.codeword.xyz/2015/09/02/three-ways-to-script-processes-in-parallel/
http://www.gnu.org/software/parallel/
任意のヘルプやコメントは、おかげでいただければ幸いです。
私の答え、または他の人があなたの問題を整理しましたか?もしそうなら、それをあなたの答えとして受け入れることを検討してください - 投票数の横にある緑色のチェックマーク/チェックマークをクリックしてください。そうでない場合は、私が、または他の誰かがあなたをさらに助けることができるように、何がうまくいかないと言ってください。ありがとう。 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235 –