是否可以在不等待它终止的情况下启动子进程?我有一个需要在 python 脚本中执行的 Windows 程序,我想让它在后台运行而不等待子进程退出,因为程序期望输入自行终止(按 q 退出)。
我尝试了很多方法,但都没有奏效。
我基本上想要实现的是以下几点:
args = [os.path.join(path, 'myProgram.exe'), '/run']
p = subprocess.Popen(args)
并在 myProgram.exe 仍在运行的情况下在这里做一些其他的事情。
myProgram.exe 也可以作为服务安装。当我尝试这种方法时
subprocess.call('net start myService', shell=True)
服务总是无法启动。它失败并显示系统错误代码 1067,这意味着进程意外终止。
注意:我使用的是 python 2.7
感谢您的建议。
编辑:我找到了一个我不明白的解决方法...作为解决方法,我创建了一个启动 myProgram.exe 的 myProgram.bat 文件。但是有一个问题,如果我只这样做
启动 myProgram.exe
它的行为与调用子进程时完全相同 - 它终止。但是,如果我这样做
timeout 0 -- @表示等待 0 秒
启动 myProgram.exe
程序正常启动。