3

私が行う必要のある基本的なタスクは、Pythonスクリプトを複数回呼び出すことです。そのたびに、異なる引数を使用します。例えば:

script.py -t command1
script.py -t command2
script.py -t command3

など問題は、script.pyの実行に時間がかかることです。そのため、上記をシェルスクリプトに入れて、連続して(次々に)実行するだけでは、時間の無駄になります。

代わりに、私ができるようにしたいのは、複数の端末を開いて、それぞれで実行することです

script.py -t command_i

i番目のコマンド引数の場合。これを行う方法はありますか?そうでない場合、私がやろうとしていることに役立つ他の並列オプションはありますか?

乾杯

編集-ちょうど実現しました:私はおそらくある種のフォークが欲しいです、そうですか?しかし、シェルスクリプトでそれを行ったことはありません。

4

1 に答える 1

4

&バックグラウンドでコマンドを実行するには、最後にを追加します。

script.py -t command1 &
script.py -t command2 &
script.py -t command3 &

これをシェルスクリプトで使用していて、すべてのプロセスが終了するのを待ちたい場合は、wait引数なしで実行してください。スクリプトを続行する前に、現在のシェルのすべてのバックグラウンドジョブが完了するのを待ちます。

于 2012-06-05T21:32:58.367 に答える