资讯专栏INFORMATION COLUMN

docker 假死 僵尸状态

weij / 2569人阅读

摘要:某日在调试容器里面的一个程序后,容器突然假死显示容器状态正常但是对外服务已经不可用没有反应这个有点奇怪单个容器也能影响全部也没有任何反应也没有任何反应也没有任何反应求助朋友后,朋友说是不是僵尸进程然后用命令查看,发现有个进程进程状态可

某日在调试superset docker容器里面的一个程序后,容器突然假死

docker ps 显示容器状态正常,但是对外服务已经不可用
docker stats 没有反应,这个有点奇怪单个容器也能影响全部?
docker stop CONTAINER_ID 也没有任何反应
docker restart CONTAINER_ID 也没有任何反应
docker exec -it --user root CONTAINER_ID /bin/bash 也没有任何反应

求助朋友后,朋友说是不是僵尸进程
然后用top命令查看,发现有 zombie 3个进程

linux 进程状态
Linux Process Status:
R (task_running) : 可执行状态
S (task_interruptible): 可中断的睡眠状态
D (task_uninterruptible): 不可中断的睡眠状态
T (task_stopped or task_traced): 暂停状态或跟踪状态
Z (task_dead - exit_zombie): 退出状态,进程成为僵尸进程
X (task_dead - exit_dead): 退出状态,进程即将被销毁

继续使用命令查看具体信息

ps -ef | grep "defunct" 


跟进PPID查看父进程发现是刚好是对应CONTAINER_ID的进程

ps -ef | grep 82248 

最后kill -9 82248 后 zombie 也变成0

一切恢复正常

参考文章
https://www.oschina.net/trans...
https://blog.csdn.net/qq_3959...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/28092.html

相关文章

  • 优雅地关闭kubernetes中的nginx

    摘要:被设计为这样一种方式,父进程必须明确地等待子进程终止,以便收集它的退出状态。会完成的删除,将优雅退出的时间设置为表示立即删除。 SIGINT SIGTERM SIGKILL区别 三者都是结束/终止进程运行。 1.SIGINT SIGTERM区别 前者与字符ctrl+c关联,后者没有任何控制字符关联。前者只能结束前台进程,后者则不是。 2.SIGTERM SIGKILL的区别 前者可以被...

    Noodles 评论0 收藏0
  • 优雅地关闭kubernetes中的nginx

    摘要:被设计为这样一种方式,父进程必须明确地等待子进程终止,以便收集它的退出状态。会完成的删除,将优雅退出的时间设置为表示立即删除。 SIGINT SIGTERM SIGKILL区别 三者都是结束/终止进程运行。 1.SIGINT SIGTERM区别 前者与字符ctrl+c关联,后者没有任何控制字符关联。前者只能结束前台进程,后者则不是。 2.SIGTERM SIGKILL的区别 前者可以被...

    余学文 评论0 收藏0
  • Docker 在 Coding WebIDE 项目中的运用

    摘要:是一个典型的模式架构,用户通过终端将字符流传递给。仿照的工作原理,我们在协议之上设计了,见下图真实实现中,是应用层的通讯协议。僵尸进程问题我们知道由于缺少而导致僵尸进程无法回收的问题迄今存在。进入构建环境执行命令。 Coding WebIDE 做个国内首个基于 Docker 技术的云端开发平台于4月1日正式上线。本文主要和大家分享和探讨 Docker 在 Web IDE 中运用的一些经...

    tinysun1234 评论0 收藏0
  • Kubernetes pod里一个特殊的容器:pause-amd64

    摘要:命名空间的一个总体目标是支持轻量级虚拟化工具的实现,机制本身对外提供一组进程,这组进程自己会认为它们就是系统唯一存在的进程。进程注册的信号处理函数里,调用另一个系统调用来获得子进程终止的原因。 大家在使用Docker容器或者Kubernetes时,遇到过这个容器么?gcr.io/google_containers/pause-amd64 showImg(https://segmentf...

    amuqiao 评论0 收藏0
  • Kubernetes pod里一个特殊的容器:pause-amd64

    摘要:命名空间的一个总体目标是支持轻量级虚拟化工具的实现,机制本身对外提供一组进程,这组进程自己会认为它们就是系统唯一存在的进程。进程注册的信号处理函数里,调用另一个系统调用来获得子进程终止的原因。 大家在使用Docker容器或者Kubernetes时,遇到过这个容器么?gcr.io/google_containers/pause-amd64 showImg(https://segmentf...

    李世赞 评论0 收藏0

发表评论

0条评论

weij

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<