僵尸進程(Zombie Process)是指子進程已經結束,但其父進程沒有正確回收其資源,導致子進程的進程描述符仍然保留在系統中。雖然僵尸進程本身不會占用太多的CPU或內存資源,但它們會占用進程表中的條目,這意味著如果僵尸進程過多,可能會耗盡進程號資源,從而影響系統創建新進程的能力。
wait()
或 waitpid()
函數來回收子進程的資源,避免僵尸進程的產生。SIGCHLD
信號,在信號處理函數中調用 wait()
來回收子進程的資源。init
進程接管并回收。通過以上措施,可以有效地管理和避免僵尸進程對系統資源的占用,確保系統的穩定運行。