如何用Python关闭所有活跃的chromedriver会话(Flask场景)
如何用Python关闭所有活跃的chromedriver会话(无需Selenium)
核心思路
直接通过Python调用系统命令,定位并终止所有chromedriver进程,无需依赖Selenium库。
Windows系统实现
利用taskkill命令强制终止所有chromedriver进程:
import subprocess def kill_chromedriver_windows(): # /F 强制终止进程 /IM 指定进程名 subprocess.run(["taskkill", "/F", "/IM", "chromedriver.exe"], check=False) print("所有chromedriver会话已关闭") kill_chromedriver_windows()
注:check=False避免因进程不存在时抛出异常
Linux/macOS系统实现
通过pkill或killall命令终止进程:
import subprocess def kill_chromedriver_unix(): # pkill 根据进程名终止,-9 强制杀死 subprocess.run(["pkill", "-9", "chromedriver"], check=False) # 也可使用 killall:subprocess.run(["killall", "-9", "chromedriver"], check=False) print("所有chromedriver会话已关闭") kill_chromedriver_unix()
跨平台通用方案
自动识别操作系统并执行对应命令:
import subprocess import platform def kill_all_chromedriver(): os_name = platform.system() try: if os_name == "Windows": subprocess.run(["taskkill", "/F", "/IM", "chromedriver.exe"], check=True) elif os_name in ["Linux", "Darwin"]: # Darwin是macOS的内核名 subprocess.run(["pkill", "-9", "chromedriver"], check=True) print("所有chromedriver进程已成功终止") except subprocess.CalledProcessError: print("未找到活跃的chromedriver进程") kill_all_chromedriver()
补充说明
- 上述方法直接终止进程,无需关联Selenium的driver实例,适合无法调用
driver.quit()的场景。 - 若需更精确控制(比如只终止当前用户的进程),可在命令中添加用户筛选参数,例如Linux下
pkill -u $USER chromedriver。
内容的提问来源于stack exchange,提问作者Seleniumqueries
相关产品推荐
相关产品推荐

