gpt4 book ai didi

process - 为什么 fork 为 child 返回 0 而为 parent 返回 child 的 PID 而不是 VICE VERSA?

转载 作者:行者123 更新时间:2023-12-04 02:20:45 26 4
gpt4 key购买 nike

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

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

例如 parent 得到 0 和 child 12867235。有人对此有很好的解释吗?

提前致谢,请原谅我的英语。

最佳答案

父进程中fork()的返回值,就是父进程如何找到子进程的PID。

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

关于process - 为什么 fork 为 child 返回 0 而为 parent 返回 child 的 PID 而不是 VICE VERSA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29919265/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com