2017-12-18 17 views
0

私はこれに対する答えを見つけることができませんでした。 コマンドラインの1つは、その戻り値が関係ないexeへの呼び出しです。 一方、コードの出力は私にとって重要です。 私はこのexeを、私が書いた別のバットファイルと並行して実行する必要がありますが、出力を取得してパラレルで実行する方法が見つかりません。 python/cmdにこれを行う方法はありますか?複数のコマンドラインを並行して実行し、出力を出力する(Python/cmd)

答えて

1

バッチファイルでは、start XYZを使用して、ブロックしないで実行することができます。 Pythonを使用する場合は、subprocessモジュールを使用してください。

p1 = subprocess.Popen(["my.exe", "arg1", "arg2"]) 
p2 = subprocess.Popen(["cmd", "/c", "my.bat"]) 

p1.wait() 
p2.wait() 
+0

素晴らしいです。うまくいく。ありがとうございました! – AmitRe

+0

どうしますか。 'start'か' subprocess'ですか? – xtofl

+0

.batファイルまたは.cmdファイルを直接実行できます。 WinAPIの 'CreateProcess'は'%ComSpec% 'シェル(定義されている場合)を介してそれを実行し、そうでない場合はcmd.exeをデフォルトとします。また、CMDの 'start'コマンドに相当する' subprocess.Popen'も 'creationflags = CREATE_NEW_CONSOLE | CREATE_NEW_PROCESS_GROUP'。あなたの現在の例は 'start/b'のようなものです。 – eryksun

関連する問題