Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C语言中的多管道_C_Pipe - Fatal编程技术网

C语言中的多管道

C语言中的多管道,c,pipe,C,Pipe,我有一个正在写的作业 自己的壳。所以,我尝试连接三个 c语言的管道,但我不能。像这样 /bin/cat a.txt | /usr/bin/wc -l | /usr/bin/wc -l 谢谢请记住,每个命令都在其自己的进程中执行,每个进程都从shell继承STDIN、STDOUT和STDERR I/O流。因此,在分叉每个子流程之前,您必须创建管道并将其重定向到I/O流或每个子流程。提供了此流程的极好概述。您尝试了什么,为什么不起作用?你读过fork(2)和pipe(2)吗?像这

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

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

谢谢

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

提供了此流程的极好概述。

您尝试了什么,为什么不起作用?你读过
fork(2)
pipe(2)
吗?像这样链接两行计数将使最终结果为1,因为中间的wc将只返回一行,其中包含一个数字。+1极好的回答,提供了解决方案的指导和总体布局,而没有实际的代码。