Python - Stray cmd.exe窗口导致程序挂起。我如何关闭这个迷路程序?

时间:2012-12-04 21:03:40

标签: python cmd exe

我有一个Python文件,它通过Popen启动一个新进程。 Python代码应该等到这个新进程完成后才能恢复它的代码。但是,Python启动的进程还会生成另一个cmd.exe窗口,该窗口可以完成一些工作,但在完成后会保持打开状态。 Python启动的过程在完成后关闭,但是停留cmd.exe窗口仍然打开,导致我的Python程序无法继续。关闭此停留窗口的最佳方法是什么?

这是我正在打电话的电话:

p = Popen(command, stdout=PIPE, stderr=STDOUT, stdin=PIPE)

命令正在运行另一个python文件。我将它设置为等于p,因为我稍后通过grep_stdout与新进程通信。

1 个答案:

答案 0 :(得分:2)

这可以通过使用pythonw.exe而不是python.exe来执行您的第二个脚本来解决。如果您直接运行脚本(而不是自己调用解释器),则应使用.pyw文件扩展名重命名,因为默认情况下应与pythonw.exe关联。

有关在Windows上执行Python文件的更多信息,请参阅this section of the Python docs