僵尸進程(Zombie Process)是指已完成執行但未被父進程“收尸”的進程。換句話說,當子進程退出時,如果其父進程沒有調用 wait
或 waitpid
函數來獲取子進程的狀態信息,那么子進程的進程描述符仍然保存在系統中,形成僵尸進程。
ps
命令的輸出中,僵尸進程的狀態通常顯示為 Z
。可以使用 ps
命令結合特定的選項來查找僵尸進程。例如:
ps -ef | grep defunct
或者使用 top
命令動態查看僵尸進程:
top -e | grep 'Z'
wait
或 waitpid
函數來等待子進程結束并回收其資源。init
接管并清理。SIGCHLD
信號,這樣內核會在子進程結束后自動回收資源。通過以上方法,可以有效地管理和避免僵尸進程對系統的影響。