如何使用fork()创建这个进程树?

时间:2016-01-11 15:07:42

标签: c process tree fork qnx

首先,我想问你如何使用fork()函数创建下面列出的进程树。

|____1____
|___2__   |
|_4_   |  |_3_
|   |  |  |   |


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

int main() {
   if (fork()) {

问题是我不知道下一步该怎么做以及它是如何工作的。

2 个答案:

答案 0 :(得分:0)

if(fork()){
    if(fork()){
        if(fork()){
        }
        else{}
    }
    else{}
}
else{
    if(fork()){}
    else{}
    }

好吗?我独自工作了......

答案 1 :(得分:0)

让我们尝试更多的空格和一些占位符评论供您填写:

/* initial process */
if (fork()) {
    /* process ? */

    if (fork()) {
        /* process ? */

        if (fork()) {
            /* process ? */

        } else {
            /* process ? */

        }
    } else {
        /* process ? */

    }
} else {
    /* process ? */

    if (fork()) {
        /* process ? */

    } else {
        /* process ? */
    }
}