ps aux | grep 'Z'
:篩選狀態為“Z”的僵尸進程,顯示PID、父進程ID(PPID)等信息。top/htop
:實時查看進程狀態,僵尸進程通常標記為“Z”。pstree -p
:以樹狀結構顯示進程關系,標注僵尸進程。kill -s SIGCHLD <父進程PID>
,促使父進程調用wait()
回收子進程。kill -9 <父進程PID>
。父進程終止后,僵尸進程會被init
進程(PID=1)自動回收。kill -9 <僵尸進程PID>
,但可能殘留進程表項,僅適用于無法通過父進程回收的場景。zombie_cleaner.sh
),通過ps
命令檢測并清理僵尸進程,配合crontab
定期執行。#!/bin/bash
ps aux | grep '[Zz]' | awk '{print $2}' | xargs kill -s SIGCHLD
systemd
創建服務,定時運行清理腳本,適用于長期監控。SIGCHLD
信號,調用wait()
或waitpid()
回收子進程。systemd
、supervisor
,自動管理子進程生命周期。top
、htop
或日志分析,及時發現異常進程。注意:操作前需確認進程作用,避免誤殺關鍵進程;優先通過信號回收,強制終止僅作為最后手段。