📅  最后修改于: 2023-12-03 14:52:51.055000             🧑  作者: Mango
Python 是一种高级编程语言,可用于开发各种应用程序。在 Windows 上运行的 Python 程序可能会创建进程。在某些情况下,您可能需要在运行的 Python 程序中终止其他进程。本文将介绍如何在 Python 中终止 Windows 上正在运行的进程。
要终止进程,您需要首先获取该进程的 ID。您可以使用 psutil 模块来获取正在运行的进程列表和详细信息。您可以使用以下代码获取正在运行的所有进程的名称和 ID:
import psutil
for proc in psutil.process_iter(['pid', 'name']):
print(proc.info)
输出将类似于以下内容:
{'name': 'System Idle Process', 'pid': 0}
{'name': 'System', 'pid': 4}
{'name': 'Registry', 'pid': 88}
{'name': 'smss.exe', 'pid': 432}
{'name': 'csrss.exe', 'pid': 544}
{'name': 'wininit.exe', 'pid': 584}
...
使用 os 模块,您可以终止进程。以下是例子代码:
import os
os.system('taskkill /f /im process_name.exe')
其中,process_name.exe
是要终止的进程名。参数 /f
表示强制终止进程,如果进程没有响应,将无法正常终止。参数 /im
表示使用进程映像名称,而不是进程 ID。
您还可以使用 subprocess 模块来运行任务,该模块提供了更多的灵活性和安全性。
import subprocess
subprocess.call(["taskkill","/F","/IM","process_name.exe"])
下面是一些示例代码,它可以在 Python 中终止 Windows 上的进程:
import psutil
import subprocess
def terminate_process(process_name):
for proc in psutil.process_iter(['pid', 'name']):
if proc.info['name'] == process_name:
subprocess.call(["taskkill","/F","/IM",process_name])
return True
return False
terminated = terminate_process("process_name.exe")
if terminated:
print("进程已成功终止")
else:
print("未找到该进程")
此代码示例使用 psutil
模块获取正在运行的进程列表,并使用 subprocess
模块终止指定的进程。
终止 Windows 上运行的进程可能是必需的,特别是在管理大型应用程序和系统时。使用 Python 可以轻松地检测和终止正在运行的进程。psutil
和 subprocess
模块提供了强大的工具来完成这项任务。