一、僵尸进程问题
在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-
Docker中解决selenium爬虫生成僵尸进程的问题

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

被折叠的 条评论
为什么被折叠?



