に私はPythonスクリプトrun.pyありますを実行し、いくつかのPythonプログラム同時に
def do(i):
# doing something with i, that takes time
start_i = sys.argv[1]
end_i = sys.argv[2]
for i in range(start_i, end_i):
do(i)
をそれから私は、このスクリプトを実行します。
python run.py 0 1000000
30分スクリプトが完了した後。 しかし、それは私にとっては長すぎます。
だから、私はbashスクリプトrun.sh作成:
python run.py 0 200000 &
python run.py 200000 400000 &
python run.py 400000 600000 &
python run.py 600000 800000 &
python run.py 800000 1000000
をそれから私は、このスクリプトを実行します。
bash run.sh
6分のスクリプトが完了したら。 よろしくお願いします。私は満足しています。
しかし私は、(bashスクリプトを作成せずに)問題を解決する別の方法があると思いますか?
私はそれを試しました。それはとてもうまくいく!ありがとうございました – imkost
あなたは大歓迎です –
@imkost: 'p.map()'の戻り値を使用しない場合、 'for _ in p.imap_unordered(do、range(start_i、 end_i)):pass'。 – jfs