📌  相关文章
📜  国际空间研究组织 | ISRO CS 2018 |问题 63

📅  最后修改于: 2022-05-13 01:58:06.344000             🧑  作者: Mango

国际空间研究组织 | 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)是正确的。

这个问题的测验