在 Unix/Linux 操作系统中,僵尸进程(Zombie Process)和孤儿进程(Orphan Process)都与父子进程的生命周期管理有关。 简单来说: 僵尸进程:孩子死了,父母还在,但父母不给孩子“收尸”(读取状态),导致孩子占着名额。 孤儿进程:父母死了,孩子还活着,孩子被“孤儿院”(init 进程)收养。 以下是详细的解释和对比: --- 1. 僵尸进程 (Zombie Process) 定义 一个子进程已经执行完毕(调用了 ),但其父进程还没有调用 或 来读取子进程的退出状态。此时,子进程虽然已经停止运行,但在系统的进程表(Process Table)中仍然保留了一个条目(包含进程号 PID、退出状态等),这种状态的进程被称为僵尸进程。 在 命令中,它们的状态通常显示为 。 产生原因 1. 子进程结束运行。 2. 内核向父进程发送 信号。 3. 父进程没有处理该信号,或者没有调用 系统调用来回收子进程的资源。 危害 资源占用:僵尸进程不占用 CPU 或 内存(除了一小部分内核栈空间),但它占用进程号(PID)。 PID 耗尽:Linux 系统的 PID 数量是...