【发布时间】:2019-05-06 13:33:48
【问题描述】:
我正在学习 C 中的 wait() 方法。我知道它会阻塞父进程,直到其子进程之一终止。但是,如果内核决定先调度子进程并且子进程在父进程调用 wait() 之前终止怎么办?由于无法观察到孩子的返回,父母是否会永远等在那里(没有其他中断)?
在照片中,如果执行顺序是:fork --> HC --> exit -->HP-->wait,那么就会发生我描述的情况。
【问题讨论】:
-
子进程仍将作为“僵尸”存在,直到父进程调用
wait检索退出状态。