Ste*_*itt 11
当您fork()
运行时,正在运行的代码发现自己在两个进程中运行(假设 fork 成功):一个进程是父进程,另一个是子进程。fork()
在子进程中返回 0,在父进程中返回子 pid:它完全是确定性的。
这就是您可以在 之后fork()
确定您是在父级还是子级中运行的方式。(还有父级如何知道子级 pid——它需要在某个时候等待它。)
更详细一点:
fork()
;fork()
返回 0 给子进程,子进程继续并使用该信息来确定它是子进程;fork()
将子进程 pid 返回给父进程,父进程继续并使用该信息来确定它是父进程。