为什么fork为子节点返回0并返回子节点的PID而不是VICE VERSA?

时间:2015-04-28 12:17:00

标签: process fork child-process

我知道当你调用fork()时,会创建一个子进程并将值0返回给子进程,并将子进程的进程ID返回给父进程。否则,将值-1返回到父进程,否 创建子进程,并设置全局变量errno以指示错误。 (How does fork() return for child process

我知道这是因为我的教授对我说,我可以搜索网并得到答案等。但是我找不到为什么反之亦然?

例如,父母获得0和儿童12867235.有没有人对此有一个很好的解释?

Thansk提前并原谅我的英语。

1 个答案:

答案 0 :(得分:3)

父级中fork()的返回值是父级如何找出子进程的PID。

子进程不需要从fork()调用中找到它的PID,因为它可以调用getpid(),并使用getppid()找出其父进程的PID。