创建n个孩子,每个孩子都有自己的烟斗

时间:2019-03-12 19:21:00

标签: c pipe fork pipeline interprocess

我在理解pipefork时遇到了麻烦,至少在实践中难以实现。我想创建n个孩子,每个孩子都有自己的管道。

我想做类似的事情:

int main(void) {
    int fd[2];
    for (int i = 0; i < n; i++) {
        pipe(fd);
        r = fork();

        if (r == 0) {
            // do child stuff
        } else if (r > 0) {
            // do parent stuff
        }
    }
}

但是这样做会导致孩子自己制作自己的程序,这不是我想要的。

此外,您将如何使父子进程同时运行,在此子进程不断地向管道中写入数据的情况下,父级(可以访问每个子管道)对其进行读取,处理,然后丢弃它,以便孩子可以向管道中写入新内容?

0 个答案:

没有答案