docker 假死 殭屍狀態

某日在調試superset docker容器裏面的一個程序後,容器忽然假死linux

docker ps 顯示容器狀態正常,可是對外服務已經不可用
docker stats 沒有反應,這個有點奇怪單個容器也能影響所有?
docker stop CONTAINER_ID 也沒有任何反應
docker restart CONTAINER_ID 也沒有任何反應
docker exec -it --user root CONTAINER_ID /bin/bash 也沒有任何反應

求助朋友後,朋友說是否是殭屍進程
而後用top命令查看,發現有 zombie 3個進程docker

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): 退出狀態,進程即將被銷燬

繼續使用命令查看具體信息api

ps -ef | grep "defunct"

圖片描述
跟進PPID查看父進程發現是恰好是對應CONTAINER_ID的進程bash

ps -ef | grep 82248

圖片描述

最後kill -9 82248 後 zombie 也變成0spa

一切恢復正常.net

參考文章
https://www.oschina.net/trans...
https://blog.csdn.net/qq_3959...調試

相關文章
相關標籤/搜索