两种办法
1、ubprocess.run(["taskkill", "/F", "/T", "/PID", str(process.pid)], check=True)
2、import psutil
def terminate_process_and_children(pid):
"""递归终止指定 PID 的进程及其所有子进程"""
try:
parent = psutil.Process(pid)
children = parent.children(recursive=True) # 获取所有子进程
for child in children:
child.terminate() # 尝试优雅地终止子进程
parent.terminate() # 尝试优雅地终止父进程
gone, alive = psutil.wait_procs(children + [parent], timeout=5) # 等待 5 秒
for p in alive:
p.kill() # 强制杀死未终止的进程
except psutil.NoSuchProcess:
pass # 如果进程已经不存在,则忽略
terminate_process_and_children(process.pid)
网友回复


