Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我目前正在研究 unix shell c。我的问题是管道,我去过很多论坛,但我无法解决。我浏览了一个临时文件。
先感谢您。
代码在这里: http: //pastebin.com/cuGbJ6XD
您想查看“man 2 pipe”、“man 2 dup2”和“man 3 popen”。前两个是您需要的,最后一个是您正在尝试构建但应该提供想法的子集。
基本步骤 - 分叉 - 创建管道 - 再次分叉 * 在分叉的一侧,关闭 stdout (1) 和 dup2 管道输出到 1 * 在分叉的另一侧,关闭 stdin (0) 和 dup2 管道输入到0 * 在两侧,关闭原始管道描述符 - 在 fork 的每一侧,执行正确的程序。
有一段时间了,但那是我记得的。