解決Ubuntu僵尸進程問題可按以下步驟操作:
ps aux | grep 'Z'
:篩選狀態為Z(僵尸)的進程,顯示PID、PPID等信息。top/htop
:在進程列表中查找狀態為Z的進程,htop
需安裝,界面更直觀。pstree -p
:以樹狀結構查看進程關系,定位僵尸進程的父進程。kill -9 <父進程PID>
。若父進程是系統關鍵服務(如init),需謹慎操作或重啟系統。SIGCHLD
信號(kill -s SIGCHLD <父進程PID>
),促使父進程主動回收子進程資源。sudo systemctl restart <服務名>
);若無法解決,重啟系統。wait()
或 waitpid()
回收子進程資源,避免僵尸進程產生。cron
定時任務發送告警。注意:操作前建議備份重要數據,避免誤殺關鍵進程。若頻繁出現僵尸進程,需排查程序是否存在邏輯錯誤。