僵尸进程(Zombie Process)是指子进程已经结束,但其父进程没有调用 wait() 或 waitpid() 系统调用来回收子进程的资源,导致子进程的进程描述符仍然保留在系统中。
wait() 或 waitpid(),僵尸进程将一直存在。init 进程(进程号为1)来回收这些僵尸进程的资源,从而使它们消失。ps -A -o stat,ppid,pid,cmd | grep -e '[Zz]' 命令来查找系统中的僵尸进程。kill -9 <parent_pid> 来杀死父进程。SIGCHLD 信号给父进程,强制其调用 wait() 或 waitpid() 来清理僵尸进程。虽然僵尸进程本身不会对系统造成直接伤害,但它们的积累可能会导致系统资源耗尽,影响系统性能。因此,及时识别和处理僵尸进程是维护系统稳定性的重要措施。