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

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.lryc.cn/news/494426.html

相关文章:

  • 微软要求 Windows Insider 用户试用备受争议的召回功能
  • husky,commit规范,生成CHANGELOG.md,npm发版
  • DETR:一种新颖的端到端目标检测与分割框架
  • 前端js面试知识点思维导图(脑图)
  • 【Java基础入门篇】一、变量、数据类型和运算符
  • 【llamafactory】安装与环境配置
  • Vue 3 + Vuex 埋点实现指南
  • 电子应用设计方案-30:智能扫地机器人系统方案设计
  • HTML飞舞的爱心(完整代码)
  • android shader gl_Position是几个分量
  • spine 动画层 动态权重
  • 《Python基础》之Python中可以转换成json数据类型的数据
  • 在oracle下载jdk显示400 Bad Request Request Header Or Cookie Too Large
  • MongoDB注入攻击测试与防御技术深度解析
  • 【Java基础入门篇】前言
  • Oracle 建表的存储过程
  • 【Debug】hexo-github令牌认证 Support for password authentication was removed
  • torch.is_floating_point(input)
  • 【分布式】分布式事务
  • Spring Data 简介
  • 【娱乐项目】基于批处理脚本与JavaScript渲染视频列表的Web页面
  • [MySQL]流程控制语句
  • Flink在Linux系统上的安装与入门
  • 微信小程序Webview与H5通信
  • Debezium Engine监听binlog实现缓存更新与业务解耦
  • docker搭建socks5代理
  • scanf函数和printf函数的格式化输入输出
  • Day31 贪心算法 part05
  • uniapp连接mqtt频繁断开原因和解决方法
  • 【数据结构-队列】力扣641. 设计循环双端队列