0

これは、複数のファイル (filename0、filename1 など) で別のスクリプトを実行する現在のスクリプトです。私の問題は、実行に時間がかかるため、それらを並行して実行したいということです。ほとんどのソリューションには、ジョブのバックグラウンド化が含まれます。ただし、これを行うと、ジョブは停止します。現時点でこれを回避する方法は、このコマンドを異なるターミナル ウィンドウで 10 回のバッチで実行することです。

for i in `seq 0 100` 
do
my-other-script filename$i
done
4

2 に答える 2

2

ジョブはバックグラウンドであるため「ただ停止」するわけではありませんが、ジョブがwait完了する前にスクリプトが終了しないように、ジョブを終了させる必要があります。ドキュメンテーション

于 2013-06-05T09:59:51.500 に答える
0

GNU Parallel は、まさに次の種類のタスク向けに作成されています。

seq 0 100 | parallel -j10 my-other-script filename{}

GNU Parallel の詳細については、http ://www.gnu.org/s/parallel/ を参照してください。

GNU Parallel は、以下を使用してわずか 10 秒でインストールできます。

wget -O - pi.dk/3 | sh 

http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1で紹介ビデオをご覧ください。

于 2013-06-06T11:29:21.340 に答える