c - C 中的多管道

标签 c pipe

我有一个作业正在写 自己的外壳。所以,我尝试连接三个 c中的管道,但我不能。像这样

/bin/cat  a.txt  |   /usr/bin/wc -l  |    /usr/bin/wc -l 

谢谢

最佳答案

请记住,每个命令都在自己的进程中执行,每个进程都从 shell 继承 STDIN、STDOUT 和 STDERR I/O 流。因此,在 fork 每个子进程之前,您必须创建管道并将它们重定向到 I/O 流或每个子进程。

关于c - C 中的多管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5722174/

相关文章:

c - 在无限循环中从子级读取()标准输出

c - 用 C 编写递归函数打印 1 和 n 个零

c - C 中的内存分配器——如何利用 sbrk() 的空间

c - 使用 fork 和 pipe 实现管道

unix - Hadoop hdfs cat pipe edgenode 到 hdfs

bash - 如何使用管道字符分隔符分隔字段

由于条件宏,Clang/GCC 禁用未使用的代码警告

c - 如何将 Go 绑定(bind)建模为使用 union 的 C 结构?

c - 将 C#defines 导出为 shell 变量

c - 如何将数据通过管道传输到在 Linux 中调用 scanf() 和 read() 的程序