推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
naldo0193
V2EX  ›  Python

请教完全杀死 selenium chromedriver

  •  
  •   naldo0193 · Aug 5, 2020 · 5345 views
    This topic created in 2138 days ago, the information mentioned may be changed or developed.

    系统是 ubuntu18.04 ,

    通过 python 运行多个 chromedriver 进行页面截图,希望某个 chromedriver 崩溃或者假死能完整或者完全杀死这个 chromedriver 。

    如果杀 ppid chromedriver 会残留 浏览器也不会退出。

    请教各位有什么办法吗?

    11 replies    2020-08-07 23:06:31 +08:00
    v2byy
        1
    v2byy  
       Aug 5, 2020 via iPhone
    杀 browser 进程也不行?
    v2byy
        2
    v2byy  
       Aug 5, 2020 via iPhone
    记得收割僵尸进程
    supermoonie
        3
    supermoonie  
       Aug 5, 2020 via iPhone
    kill
    eel777jiang
        4
    eel777jiang  
       Aug 5, 2020
    netstat -anp|grep chrome|awk '{print $7}'|awk -F/ '{print $1}' |head -1|xargs kill -9
    nullboy
        5
    nullboy  
       Aug 5, 2020 via Android
    用 remote driver,重启下 selenium 容器就完事了
    win7pro
        6
    win7pro  
       Aug 5, 2020
    我也遇到类似的问题,我是在 WINDOWS 下,用批处理.bat 运行 python+selenium+chromedriver,但运行完毕后在 python 执行 exit(),进程是停住了,但终端窗口不会自动关闭,也不会跳回到 dos 命令行
    haozi1986
        7
    haozi1986  
       Aug 5, 2020 via Android
    我是在 Ubuntu 下使用 selenium + Firefox,经常有假死进程,不能正确结束或者退出,于是又写了一个脚本,定时运行,结束超过指定时长的 Firefox 进程
    suotm
        8
    suotm  
       Aug 5, 2020
    我之前处理过,都用命令行匹配关键词进行 killall 操作的
    scsb
        9
    scsb  
       Aug 5, 2020 via iPhone
    处理完直接把 brower 关掉不就是了
    ysc3839
        10
    ysc3839  
       Aug 6, 2020 via Android
    Windows 的话能用 Job Object,可以设置 Job Object 关闭时结束进程,把进程放进里面,子进程也会自动被放入其中。
    Linux 的话好像进程树本来就会传递退出的信号?不过这个好像是可以通过 fork 两次来脱离出去的?不确定有没有什么没法绕过的机制。
    qazwsxkevin
        11
    qazwsxkevin  
       Aug 7, 2020
    这个问题我也在 v2 问过,当时还想着怎么样琢磨比较好的去收拾残留的 WebDriver(chromedriver),什么 pid 号,什么进程跟踪起来的概念搞得自己很乱也花费了很多的时间,结果最后还是一条途径解决这个问题,就是 selenium webdriver 不妖异地使用,其实完全退出内存是一点儿问题都没有的,多半是 webdriver.get 完内容后,没有做 webdriver.quit(),直接就 return 到不知道哪里去了,留下了孤零零的 webdriver 还驻在内存
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2663 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 15:53 · PVG 23:53 · LAX 08:53 · JFK 11:53
    ♥ Do have faith in what you're doing.