某日在調試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...調試