最佳答案
您想要查看“man 2 pipeline”、“man 2 dup2”和“man 3 popen”。前两个是您需要的,最后一个是您正在尝试构建但应该提供想法的子集。
基本步骤
- fork
- 创建管道
- 再次 fork
* 在 fork 的一侧,关闭 stdout (1) 并将管道输出 dup2 为 1
* 在 fork 的另一侧,关闭 stdin (0) 并将 dup2 管道输入设置为 0
* 两边,关闭原来的管道描述符
- 在 fork 的每一侧,执行正确的程序。
已经有一段时间了,但这就是我所记得的。
关于c - C Pipe 中的 Unix Shell 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13943470/