-3

我目前正在研究 unix shell c。我的问题是管道,我去过很多论坛,但我无法解决。我浏览了一个临时文件。

先感谢您。

代码在这里: http: //pastebin.com/cuGbJ6XD

4

1 回答 1

1

您想查看“man 2 pipe”、“man 2 dup2”和“man 3 popen”。前两个是您需要的,最后一个是您正在尝试构建但应该提供想法的子集。

基本步骤
- 分叉
- 创建管道
- 再次分叉
* 在分叉的一侧,关闭 stdout (1) 和 dup2 管道输出到 1
* 在分叉的另一侧,关闭 stdin (0) 和 dup2 管道输入到0
* 在两侧,关闭原始管道描述符
- 在 fork 的每一侧,执行正确的程序。

有一段时间了,但那是我记得的。

于 2012-12-19T00:10:28.323 回答