首页 > 解决方案 > 我需要用 fork() 制作这个进程树

问题描述

在此处输入图像描述

我只知道fork()基础知识,而且我是新手。任何帮助将不胜感激

标签: fork

解决方案


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

int main(){
    //P0 is the main

    pid_t P1, P2;
    P1 = fork();
    P2 = fork();

    if(P1 == 0){            //P1 == 0 <==> P1 is created and we are inside it
        pid_t P3 = fork();
    }

    if(P2 == 0){                //P2 == 0 means that we are inside P2 so we re creating P4 P5 P6 inside P2 
        pid_t P4, P5, P6;

        P4 = fork();
        P5 = fork();
        P5 = fork();
    }

    //add else statements to avoid multi print statements
    return 0;
}

推荐阅读