Debian僵尸进程产生机制与Linux系统一致,核心原因是父进程未及时回收子进程资源,具体如下:
wait()/waitpid()exit()终止后,会向父进程发送SIGCHLD信号,若父进程未通过wait()或waitpid()读取子进程退出状态并释放资源,子进程的进程描述符(PCB)会保留在进程表中,形成僵尸进程。init进程(PID=1)接管。若init未正确处理,子进程可能遗留为僵尸。SIGCHLD信号或因阻塞无法及时处理,导致子进程退出后资源无法回收。注:僵尸进程本身不占用CPU资源,但会占用进程表项,大量存在可能导致进程表耗尽,影响系统稳定性。