我有一个需要启动.bat
文件的python脚本。 .bat
文件无限期运行,理想情况下永远不会返回。
在python脚本中运行外部可执行文件或.bat
没有问题,但我发现的所有实现都是以子进程运行并等待它返回。
我可以运行外部脚本并从中分离,允许它快速运行,并让python脚本继续运行吗?
* 编辑:* 使用Popen
在同一命令提示符窗口中运行批处理文件 - 由于批处理文件永远不会返回,因此python应用程序无法继续运行。有没有办法在新的命令提示符窗口中运行批处理文件?
答案 0 :(得分:1)
你可以使用子进程:
import subprocess
subprocess.Popen(["mybatchfile.bat"])
这将启动批处理文件,不会等待完成。如果要验证是否已创建进程,则可以运行:
p=subprocess.Popen(["mybatchfile.bat"])
if p.pid > 0:
print "Process created with PID:", p.pid