僵尸进程(Zombie Process)是指已完成执行但未被父进程“收尸”的进程。换句话说,当子进程退出时,如果其父进程没有调用 wait
或 waitpid
函数来获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中,形成僵尸进程。
ps
命令的输出中,僵尸进程的状态通常显示为 Z
。可以使用 ps
命令结合特定的选项来查找僵尸进程。例如:
ps -ef | grep defunct
或者使用 top
命令动态查看僵尸进程:
top -e | grep 'Z'
wait
或 waitpid
函数来等待子进程结束并回收其资源。init
接管并清理。SIGCHLD
信号,这样内核会在子进程结束后自动回收资源。通过以上方法,可以有效地管理和避免僵尸进程对系统的影响。