解决 Docker + selenium + chromedriver + chrome 会出现僵尸进程的问题

Docker中解决selenium爬虫生成僵尸进程的问题
文章详细描述了在Docker环境下使用selenium爬虫时遇到的僵尸进程问题,分析了原因——chromedriver的子进程在quit后变成孤儿进程,最终由docker的1号进程托管导致。提出了四种解决方案,包括脚本内部处理信号、使用dumb-init和通过docker运行时添加--init参数。这些建议旨在防止僵尸进程耗尽pid表并确保进程正确退出。

一、僵尸进程问题

在docker里,使用selenium爬虫,  webdriver quit后,会产生很多僵尸进程。
docker run  - it  - v / home / blackip :/ home / blackips /   selenium : 1.0   python3 linux_black_ip . py
top查看僵尸进程:
ps -ef | grep defunct查看僵尸进程:
僵尸进程的父进程是python3。
看了下chrome运行时的状况,发现开始的父进程并不是1,但到最后都变成了1,并且变为defunct状态:
ps -ef | grep chrome| grep -v defunct
超多的僵尸进程会耗尽 pid 表,导致 Chrome failed to start: exited abnormally.
snapshot-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值