使用 fork() 的进程树

使用 fork() 的进程树

我的任务是使用forkif和在 C 中创建此进程树else

|_____1___
|___2__   |
|_4_   |  |_3_
|   |  |  |   |

或者像pstree图一样:

p(0)─┬─p(1)───p(3)
     ├─p(2)
     └─p(4)

这段代码正确吗?

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main() {

    if(fork()){
        // 1
        if(fork()){
            // 2
            if(fork()){
                // 4
            }
            else{}
        }
        else{}
    }
    else{
        if(fork()){
            // 3}
        else{}
    }

    pause();
    return 0;
}

答案1

好的,我现在明白你的问题了。你的答案是正确的。我想说的是你可以做

fork()

对于最后的forks 而不是

if (fork()) {}
else {}

相关内容