Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Windows中,通过Python终止应用程序_Python - Fatal编程技术网

在Windows中,通过Python终止应用程序

在Windows中,通过Python终止应用程序,python,Python,我正试图通过python脚本杀死外部运行的应用程序,如Windows Paint、.mp3和类似的程序 我通过os.startfile打开程序。有没有办法有效地关闭程序?我使用的是Windows7机器。 我非常感谢你的帮助!谢谢 Popen将允许您终止已打开的进程,但不会提示保存文件等 p = subprocess.Popen(['notepad', 'tmp.txt']) #later p.kill() 从Python 2.7开始,它可以在Windows上运行。您可以使用。找到PID。当您要

我正试图通过python脚本杀死外部运行的应用程序,如Windows Paint.mp3和类似的程序

我通过
os.startfile
打开程序。有没有办法有效地关闭程序?我使用的是Windows7机器。
我非常感谢你的帮助!谢谢

Popen将允许您终止已打开的进程,但不会提示保存文件等

p = subprocess.Popen(['notepad', 'tmp.txt'])
#later
p.kill()

从Python 2.7开始,它可以在Windows上运行。您可以使用。

找到PID。当您要求Windows使用
os.startfile()
启动某些程序时,您无法获得所创建进程的句柄。这是因为基础函数不返回已创建进程的句柄。我认为这是因为并非所有操作都会导致创建一个进程(例如,使用进程内COM服务器或其他机密).

似乎这个问题的首要答案会满足您的要求:如果我不想使用子进程方法怎么办?我可以用
p.open打开非.exe文件吗?我刚刚尝试过,但看起来不是这样:WindowsError:[Error 193]%1不是有效的Win32应用程序。欢迎使用。我同意这比我想象的要复杂。