申し訳ありませんが、残念ながら、私はそれを見つけていません。私はバックグラウンドプロセスを生成し、それが完了したかどうかを監視するPythonスクリプトを書こうとしています。 os.systemコマンドを見ましたが、現在はsubprocess.callを使用することをお勧めしますが、プロセスが完了するまでプログラムをブロックするようです。Pythonのサブプロセスの使用に
私の最終目標は、次のを持っていることです。プログラムを通じて
1)プログラムが実行され、
2情報を歌いprocessessing開始)途中、それは同時に
を実行する必要がありますWindowsのDOSプログラムを起動します3)プログラムは引き続き実行され、データを処理し続けます。
4)プログラムは、DOSプログラムを監視し、それが終了した後、最終的に情報を送信するとき。しかし、このステップを実行するには、DOSプログラムが終了していなければなりません。
誰かが正しい方向に私を指すことができればそれはすばらしいでしょう。
詳細情報:私はSecurecrtに組み込まれたpythonプロセッサを利用しようとしています。プログラムのCMDウィンドウを正常に開いているように見えますが、サブプロセスを終了するまで中間コマンド(この例では有効にしています)は表示されません。
import os
import subprocess
def Main()
crt.Screen.Synchronous = True
VMCOMMAND = '\"C:\\Program Files\\VMWare\\VMware OVF Tool\\ovftool.exe\" ' + '--name=test' + ' C:\\temp\\test.ova' + ' vi://root:[email protected]'
from subprocess import Popen
p = Popen(VMCOMMAND)
crt.Screen.Send(chr(13))
crt.Screen.Send("enable" + chr(13))
crt.Screen.Send("enable" + chr(13))
crt.Screen.Send("enable" + chr(13))
crt.Screen.Send("enable" + chr(13))
returncode = p.wait()
crt.Screen.Send("should not see enable" + chr(13))
Main()
"WindowsのDOSプログラム"?プログラムはDOS用でもWindows用でも、 "Windows DOSプログラム"はありません。 –
Ignacioは申し訳ありませんが、これはWindows 7で動作するWindows DoSプログラムです。このプログラムは基本的にovftoolのコマンドラインです。 – ozymandius100
OVFToolはDoS用ではなく、仮想化用です。 –