可以在Python中杀死Windows上的进程吗?
我正在使用 Python 2.6。有时候,某个进程会打开多个实例,这个进程本身会引发一些问题。我想要能够通过编程的方式检测到这个进程有多个实例,并把它们全部关闭。
举个例子,有时候可能会有50个make.exe的实例在运行。我想知道有20个实例在运行,并把它们全部杀掉。这个怎么实现呢?
6 个回答
10
有一个很不错的跨平台Python工具叫做 psutil,它可以让你用 kill() 这个功能来结束一些进程,这些进程可以通过psutil.process_iter()来列出。
在另一个讨论中已经有一个例子了: https://stackoverflow.com/a/4230226/4571444
32
当然可以这样做
import os
os.system("taskkill /f /im Your_Process_Name.exe")
- /f : 这个选项表示要强制结束一个或多个进程。
- /im (图像名称): 这个选项用来指定要结束的进程的名称。
- 想了解更多关于TaskKill的信息,可以点击这里
70
我觉得你可以直接用 taskkill 命令,再结合 Python 的 os.system() 函数。
import os
os.system("taskkill /im make.exe")
注意:我想提醒一下,你可能需要写出 taskkill 的完整路径。我现在用的是 Linux 系统,所以没法测试...