抱歉,如果这个问题以前被问过 100 次,很遗憾,如果是的话,我还没有找到它。我正在寻找一个 python 脚本,它将产生一个后台进程并监视它以查看它是否已完成。我已经看到现在建议使用 subprocess.call 的 os.system 命令,但这似乎会阻塞程序,直到进程完成。
我的最终目标是拥有以下内容:
1)程序运行并开始处理sing信息
2) 在程序执行到一半时,它将启动一个需要同时运行的 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:test@1.1.1.1'
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 ()