当前位置: 首页 > article >正文

docker 僵尸进程问题

docker僵尸进程

  • 子进程结束后,父进程没有回收该进程资源(父进程可能没有wait),子进程残留资源存放与内核中,就变为僵尸进程(zombie)

  • 场景分析:python脚本A中执行B应用,将A部署在docker中,在yml文件中COMMAND:[“A”]进行运行A

    • 进入容器中,docker exec -it test bash,发现A的pid为1,0是init

    • 若A中执行B的方式是os.system(“/usr/bin/B”),会发现B的ppid是1,手动kill 掉B服务,B就会出现僵尸进程情况(并且无法被kill掉)。因为os.system不具有回收资源功能

    • 若A中执行B的方式是subprocess.run([“/usr/bin/B”], shell=True),会发现B的ppid是一个bash,手动kill 掉B服务,B资源会被bash进行回收,bash同时也会运行结束;

  • docker中直接启动应用和使用bash启动应用的区别就是是否具有回收资源


http://www.kler.cn/a/414884.html

相关文章:

  • python学习——enumerate
  • Android导出Excel
  • 【H2O2|全栈】Node.js(2)
  • STM32-- 看门狗--介绍、使用场景、失效场景
  • Zero to JupyterHub with Kubernetes中篇 - Kubernetes 常规使用记录
  • 【拥抱AI】Milvus 如何处理 TB 级别的大规模向量数据?
  • 构建 LLM (大型语言模型)应用程序——从入门到精通(第七部分:开源 RAG)
  • 使用 Go 语言封装 MinIO 相关操作
  • 40分钟学 Go 语言高并发:Pipeline模式(二)
  • 网络安全-AAA介绍与配置
  • 【k8s深入理解之 Scheme】全面理解 Scheme 的注册机制、内外部版本、自动转换函数、默认填充函数、Options等机制
  • Blender 运行python脚本
  • 跨平台应用开发框架(3)-----Qt(样式篇)
  • 泷羽sec学习打卡-shell命令4
  • 从数据提取到管理:合合信息的智能文档处理全方位解析【合合信息智能文档处理百宝箱】
  • PHP后台微信医院预约挂号小程序设计与实现(论文+作品)
  • visionpro官方示例分析(一) 模板匹配工具 缺陷检测工具
  • 如何在 Ubuntu 上部署一个属于自己的 Plex 媒体服务器
  • Jest 测试异步函数
  • Spring Cloud Stream实现数据流处理
  • 2024年第十三届”认证杯“数学中国数学建模国际赛(小美赛)
  • Redis - ⭐数据缓存 Cache
  • 知识库助手的构建之路:ChatGLM3-6B和LangChain的深度应用
  • Java 编程的经典反例及其事故分析
  • 可视化建模与UML《状态图实验报告》
  • 对智能电视直播App的恶意监控