问题描述
我用 python 用 os.kill 终止了大部分进程,但它在 Windows 上并不能正常工作。
我尝试了多种终止进程的方法。 第一个是使用 wmi.WMI.Win32_Process() 获取所有进程,这非常慢。所以我把它改成这样:
def processes():
subp = subprocess.Popen(["tasklist","/FO","CSV","/NH"],stdout=subprocess.PIPE)
processes_from_command = subp.stdout.read().decode("ISO-8859-1")
subp.terminate()
for row in processes_from_command.split("\n")[:-1]:
yield int(row.split(",")[1].replace("\"",""))
这给了我一个生成器对象,它为我提供了所有正在运行的进程的进程 ID。然后我用 os.kill 杀死了它们。但仍有一些进程不想像 explorer.exe 那样被终止。
How can I kill the explorer.exe process?。 那里的最佳答案建议使用 taskkill ,它工作得很好,只是它很慢。 有什么方法可以在 processes() 异步中的所有 pid 上运行 taskkill?如果不是,我将如何快速终止所有进程。
解决方法
TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
?也许?