操作系统 · 单选题 · 第 28 题
计算机基础面试八股 · 第 28 题
子进程已经退出,但父进程还没有调用 wait() 或 waitpid() 回收它,这时子进程处于什么状态?
- A孤儿进程
- B守护进程
- C僵尸进程
- D就绪态
答案
C C. 僵尸进程
解析
子进程退出后,内核仍保留它的进程号和退出状态,等父进程来回收,这段时间它就是僵尸进程,会占用进程表项。孤儿进程是父进程先退出、子进程还在运行,会被 init 或 systemd 收养并最终回收。大量僵尸进程通常说明父进程漏了 wait,或没有处理 SIGCHLD。