Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何使用fork()创建此流程树?_C_Process_Tree_Fork_Qnx - Fatal编程技术网

C 如何使用fork()创建此流程树?

C 如何使用fork()创建此流程树?,c,process,tree,fork,qnx,C,Process,Tree,Fork,Qnx,首先,我想问您如何使用only fork函数创建下面列出的流程树 |____1____ |___2__ | |_4_ | |_3_ | | | | | #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main() { if (fork()) { 问题是我不知道下一步该做什么,以及它是如何工作的 if(fork()){ if(fork()){

首先,我想问您如何使用only fork函数创建下面列出的流程树

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


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

int main() {
   if (fork()) {
问题是我不知道下一步该做什么,以及它是如何工作的

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

好吗?我自己解决的…

让我们用更多的空格和一些占位符注释尝试一下,让您填写:

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

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

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

        } else {
            /* process ? */

        }
    } else {
        /* process ? */

    }
} else {
    /* process ? */

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

    } else {
        /* process ? */
    }
}

阅读fork的手册页面,注意返回部分…我不理解您的图表,为什么不在上面标记代码?