2016-09-30 22 views
1

コマンドライン引数でユーザーから入力を受け取るスクリプトがあります。引数を処理し、Pythonコマンドの実行を開始します。例えば:LinuxのシェルスクリプトでPythonコマンドを並列に実行する

./run.sh p1 p2 p3 p4 
python abc.py p1 p4 
python xyz.py p2 p3 
p1p2p3p4は、任意のタイプのものであってもよい

私はこれらのPythonコマンドを両方とも並列に、そして2つの異なる端末で実行する必要があります。次のコマンドを開始するために1つのコマンドが完了するのを待つ必要がないように、どうすればいいですか?

私はGNU並列を試みましたが、うまくいかないようです。

+0

私はその流体力学的モデリングのための並列処理を使用して、彼らはOpenMPIのを利用Pythonプロジェクトに取り組みました。彼らがどのように実装したのか見たい場合は、githubで何かを見つけるかもしれません:https://github.com/GeoscienceAustralia/anuga_core – Usagi

+0

素晴らしい答えがあります:http://stackoverflow.com/a/10909842/5381704 –

答えて

1

コマンドの最後に&を追加して、バックグラウンドで各プロセスを実行してみてください。

python abc.py p1 p4 & 

python xyz.py p2 p3 & 

Some Info

+0

最終的な "待機" –

0

GNUパラレルが優れているあなたの仕事はありませんが、それを行うことができます。

parallel ::: "python abc.py p1 p4" "python xyz.py p2 p3" 
関連する問題