据我所知(请原谅我对这个问题的无知),当一个进程fork()
:
- 每个孩子都被分配了自己的PID
- 孩子退出后,父母仍然可以查询孩子的PID
waitpid()
这是否意味着:
- 因为这个 PID 仍然可以从父级“查询”,它仍然被锁定并且不能被系统重用?
- 或者该数字是否只是与父级相关联,以便它可以知道它已退出,并获得退出状态代码,但同时 PID 再次可供系统使用?在那种情况下,这是否意味着这个 PID 不能被这个父进程的子进程重用?这意味着父进程在其生命周期中可以跨越的进程数量有一个上限,这让我感到惊讶。
如果您能为我澄清这一点,我将不胜感激!