要解释一下,我不是在问如何获得一个过程。
在C中,父进程必须显式地获取已创建的子进程,即使子进程执行exit()函数调用也是如此。
据我所知,在收获孩子的同时,可能需要获得孩子的退出状态。 实际上,这是可以从子进程中获得的唯一信息。那么,为什么操作系统不仅存储退出状态(整数),而且仍然存储与子项关联的所有内存,直到获得?
答案 0 :(得分:4)
你的问题的前提是错误的。操作系统 只存储退出状态(和资源使用情况报告),但最重要的是,它会保留pid,直到您等待它为止。最后一部分很重要,因为如果在等待原始进程之前将pid重新分配给新进程,则无法将其用作请求退出状态的标识符。