国际空间研究组织 | ISRO CS 2018 |问题 63
下面的 C 程序
main()
{
fork() ; fork() ; printf ("yes");
}
如果我们执行这个核心段,字符串yes 会被打印多少次?
(A)只有一次
(B) 2 次
(C) 4 次
(D) 8次答案: (C)
说明: YES 打印的次数等于创建的进程数。进程总数 = 2 n其中 n 是 fork 系统调用的数量。所以这里 n = 2, 2 4 = 4
fork (); // Line 1
fork (); // Line 2
P1
/ \
P1 C1
/ \ / \
P1 C2 C1 C3
因此,总共有 4 个进程(3 个新子进程和 1 个原始进程)。
选项(C)是正确的。
这个问题的测验