代码编织梦想

Docker容器内使用chrome后进程无法终止解决方案

背景

我在项目中有个需求时html转图片,经过技术选型对比后为保证样式高保真采用了chrome渲染后转pdf,再通过pdf转图片的方案。该功能上线后,隔几天就会发现使用docker命令时报错资源不足(Resource temporarily unavailable)。

问题排查

结合最近的功能发布排除后,锁定在html转图片。登录容器内部后发现大量的chrome.exe<defunct>进程,defunct代表僵尸进程

ps -ef

僵尸进程
经过查询资料了解后,发现chromedriver在退出后并没有终止fork出来的子进程,然后子进程被进程号为1的业务进程托管,业务进程没有处理子进程退出信号(wait/waitpid),导致进程号pid一直增长最终耗尽。在Linux中进程号为1的进程比较特殊,是所有用户进程的守护进程,详细说明可参考Linux OS 什么是Linux 1号进程? init进程与systemD的比较&#

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/baidu_38956956/article/details/135743464

defunct进程 僵尸进程_hanover的博客-爱代码爱编程

  在测试基于 DirectFB+Gstreamer 的视频联播系统的一个 Demo 的时候,其中大量使用 system 调用的语句,例如在 menu 代码中的 system("./play") ,而且多次执行,这种情况下,在 ps -ef 列表中出现了大量的 defunct 进程,对程序的运行时有害的。按说system的源码中应该已经包含了wa

armbian docker Chrome_一次 Docker 容器内大量僵尸进程排查分析-爱代码爱编程

前段时间线上的一个使用 Google Puppeteer 生成图片的服务炸了,每个 docker 容器内都有几千个孤儿僵死进程没有回收,如下图所示。 这篇文章比较长,主要就讲了下面这几个问题。 什么情况下会出现僵尸进程、孤儿进程Puppeteer 工作过程启动的进程与线上事故分析PID 为 1 的进程有什么特殊的地方为

C#操作chromedriver出现无法结束后台进程的解决方案-爱代码爱编程

最近需要做一个定时操作浏览器的任务,决定使用Selenium库。由于对Python不太熟悉,看Selenium官方文档发现支持C#,果断决定使用C#进行操作。但是在执行过程中,发现每次程序结束后,chromedriver.exe在后台残留无法清除,使用官方提供的driver.quit()也没什么用。在网上查找解决方案,尝试了后发现都没有用处。此时,想到了S

docker容器内安装chrome_weixin_46811987的博客-爱代码爱编程

1.修改apt-get源地址为阿里云镜像 echo "" > /etc/apt/sources.list echo "deb http://mirrors.aliyun.com/debian buster main" >> /etc/apt/sources.list echo "deb http://mirrors.aliyun.com

cloudreve 捐赠版构建docker 镜像并启动-爱代码爱编程

一. 下载捐赠版源码修改dockerFile PS: dockerFile当前将key.bin也就是捐赠版密钥添加到了镜像中,实际上可以不加,此时和应该将 dockerFile中的 --- "ADD key_2023011

谷歌浏览器打开白屏 后台还有还有很多google chrome进程在运行-爱代码爱编程

环境: Win10 专业版 谷歌浏览器 版本 116.0.5845.141(正式版本) (64 位) L盾加密终端 问题描述: 谷歌浏览器打开白屏 后台还有还有很多google chrome进程在运行,要全部结束谷

【云原生docker篇】docker的容器管理操作_简述docker的加载运行和管理的过程-爱代码爱编程

1、创建容器 容器创建:就是将镜像加载到容器的过程。 创建容器时如果没有指定容器名称,系统会自动创建一个名称。 新创建的容器默认处于停止状态,不运行任何程序,需要在其中发起一个进程来启动容器。 docker create创建的容器并未实际启动,还需要执行docker start命令或docker run命令以启动容器。  格式: docker c

dockerfile案例-爱代码爱编程

dockerfile案例 文章目录 dockerfile案例 docker镜像构建 docker commit dockerfile nginx 扫