gpt4 book ai didi

c - C程序中的fork()

转载 作者:太空狗 更新时间:2023-10-29 16:57:22 25 4
gpt4 key购买 nike

这是最近GATE入学考试的一道题。
一个进程执行代码

fork();  
fork();
fork();

创建的进程总数为

(A) 3. (B) 4. (C) 7. (D) 8.

我的答案是(A) 3.

我的看法是,每次fork()后,都会创建1个子进程,父进程继续正常执行。

来自教练机构的不可靠答案(没有任何解释)是(C) 7.

我认为他们正在对待每个 fork 都会创建一个子进程和一个新的父进程。他们也在计算所有父进程。 [我不允许发布图片,但我的 friend 在图表中进行了解释,这是一棵树,每个左节点在两个节点中 fork 。因此左边有 4 个父节点,右边有 3 个子节点。]但是问题清楚地只提到了子进程。而且我也不认为父进程是在 fork 中新创建的。

有人可以解释一些 fork 的基本原理,以及上述问题的正确解决方案。

附言如果编程语言在 fork 的概念上有任何不同,那么根据教学大纲,这应该是 C 或 C++ 程序。

最佳答案

fork() 导致原始进程和一个子进程都从代码中的那个点开始。因此你有这张图片:

enter image description here

关于c - C程序中的fork(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9299673/

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