两种办法
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)
网友回复