如何在完成工作后结束子进程?

时间:2013-11-28 21:52:50

标签: c

这是我用来创建n个子节点和增量计数的代码:

int pid;
for(j = 1; j<=numForks; j++){
    if((pid=fork()) == 0){  /*child process*/
        count++;
    }else{ /*parent process*/

    }
}

我不确定如何退出每个孩子。我不允许使用任何类型的等待功能。

2 个答案:

答案 0 :(得分:3)

您可以使用父进程中的kill或从子进程中调用exit,或者让每个子进程自行终止。

答案 1 :(得分:2)

正如您已经假设的那样,只需使用exit

即可
int pid;
for(j = 1; j<=numForks; j++){
    if((pid=fork()) == 0){  /*child process*/
        count++;
        exit(0);
    }else{ /*parent process*/

    }
}