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