【问题标题】:How many processes will be created fork() exec()将创建多少个进程 fork() exec()
【发布时间】:2017-02-25 21:17:30
【问题描述】:

我是操作系统的新手,正在阅读我的操作系统课程笔记,这是给出的问题。我试图计算通过阅读this讨论创建的总进程数。

问题:
将创建多少进程(包括父进程),如果 以下程序中的所有 fork()/exec() 系统调用均成功。认为 执行的程序没有 fork()。

Main(){
    int ii = fork();
    if (ii == 0) exec();
    fork();
}

回答:
进程总数 = 3

根据讨论(我上面包含的页面),我有以下过程

Main(){                  //Main program is consider as 1 process
    int ii = fork();     //fork #1, now I have 2 total processes
    if (ii == 0) exec(); 
    fork();              //fork #2, now I have 4 total processes
}

那么我有 4 个进程而不是 3 个吗?

【问题讨论】:

    标签: operating-system fork exec


    【解决方案1】:

    您有 4 个进程。

    这也可以通过您喜欢的编译器以您喜欢的语言轻松验证。在你最后一次分叉后打印一些东西。

    【讨论】:

      猜你喜欢
      • 2021-01-18
      • 2014-02-14
      • 2013-10-07
      • 1970-01-01
      • 1970-01-01
      • 2011-07-02
      • 2014-07-20
      • 2020-10-19
      • 2017-12-13
      相关资源
      最近更新 更多