在C中使用管道:两个子进程

时间:2018-09-29 00:05:46

标签: c pipe exec unistd.h

我正在尝试使用管道在C中模拟以下命令“ ls | sort -r> text”。

我有两个使用fork()创建的子进程,并使用dup2()更改了输入/输出

我的问题现在是正确执行这些命令。但是,对于每个进程必须在哪里运行,我有些困惑。

是这样的: 1)在父级中执行“ ls” 2)在子级1中执行“ sort -r” 3)在子级2中执行““>文本”

我目前正在尝试如下所示运行它:

execlp("ls", "ls", NULL); // this in child 1 block of code
execlp("sort -r > text", "sort -r > text", NULL); // this in child 2 block

任何帮助将不胜感激,谢谢!

0 个答案:

没有答案