使用fork()的多个进程

时间:2016-10-07 03:51:21

标签: c

我用它在我的主要设置过程:

 pid = fork();
 if (pid == 0) 
      ChildProcess();
 else 
      ParentProcess();

我如何设置更多流程,例如x4呢?

2 个答案:

答案 0 :(得分:2)

如果您在父进程中,请再次致电fork()以获取另一名儿童。如果你把它放在循环中,那么你就是金色的。

for (int i = 0; i < 4; ++i) {
    pids[i] = fork();
    if (pids[i] == 0) {
        ChildProcess();
        break;
    }
}

确保孩子不会拨打fork()。只有父母。

答案 1 :(得分:1)

有一些方法可以做到这一点。

例如:
 1.重复你的fork() 4次  2.使用循环调用fork() 4次  3.将这些包装成函数