ChinaUnix.net
相关文章推荐:

linux c 管道

自己写程序做实验时,可以用ls -l命令查看管道里有多少数据。这样比较爽~~ 编程方面: 用open打开时,另一端如果没打开,这边就要等待,不管是读的一端还是写的一端 reader: read调用: 只要管道中还有数据,不管写的一端是否关闭了,它都可以读,read调用返回大于0的数;假如没有数据,而另一端还开着,它就等到有数据来;假如没有数据而且另一端已经关了,它就返回0。假如是文件描述符无效,才返回-1。 writer: write调用:...

by pz0513 - Linux文档专区 - 2009-07-07 15:56:41 阅读(856) 回复(0)

相关讨论

[color="#333333"]color="red">linux 管道 [color="#333333"]管道color="red">linux中很重要的一种通信方式,是把一个程序的输出直接连接到另一个程序的输入,常说的管道多是指无名管道,无名管道只能用于具有亲缘关系的进程之间,这是它与有名管道的最大区别。 [color="#333333"]有名管道叫named pipe或者FIFO(先进先出),可以用函数mkfifo()创建。 [color="#333333"]color="red">linux管道的实现机制 [color="#333333"]在color="red">linux中,管道是一种使用非常频繁的通信...

by chengyake - Linux文档专区 - 2011-09-16 08:29:47 阅读(3273) 回复(3)

初学color="red">linux,有个问题想请教 这是一个关于管道c程序: #include #include #include #include #include int main() { int pipe_fd[2]; pid_t pid; char buf_r[100]; char *p_wbuf; int r_num; memset(buf_r,0,sizeof(buf_r)); if(pipe(pipe_fd)<0) { printf("pipe create error\n"); return -1; } if((pid=fork())...

by zjrxlinux - Linux环境编程 - 2009-06-25 17:12:36 阅读(1510) 回复(7)

这只是一个测试程序,所要实现的也只是输入“ls|wc”(格式:没有空格)能够正常显示就好了,但是问题是貌似管道根本没连起来,而我已经找了一下午错误了,无果,望各位高手相助~ 其中的一些printf是为了调试,不需要的可以删去~ #include /* waitpid() require it */ #include #include #include /* exit() require it */ #include "unistd.h" ...

by teloon - C/C++ - 2009-04-02 18:30:54 阅读(1054) 回复(1)

color="red">linux里面的管道"|"可以将前一个命令的输出作为后面一个命令的输入,我的问题是:是不是必须等到前一个命令结束后才将所有的输出通过管道传递给后面的命令?还是只要有输出,后面一个命令就会立刻得到?

by redwyz - Linux系统管理 - 2011-10-13 16:36:36 阅读(1791) 回复(1)

receive.c .. main() { 。。 char aa[8]; mkfifo(FIFO1,0666); fda=open(FIFO1,O_RDONLY); //read(fda,aa,8);//这样不能接收完整 read(fda,aa,4);//这样就能接收完整,?????? read(fda,aa+1,r); } send.c main() { 。。 char aa[8]={1,1}; fda=open(FIFO1,O_RDONLY); write(fda,aa,8); }

by soqsoq - Linux环境编程 - 2007-04-10 23:44:38 阅读(2420) 回复(1)

#include #include #include int pid1, pid2; // 定义两个进程变量 main( ) { int ...

by langzi2 - Linux文档专区 - 2006-08-08 00:37:33 阅读(580) 回复(0)

原文 1、 管道概述及相关API应用 1.1 管道相关的关键概念 管道color="red">linux支持的最初Unix IPc形式之一,具有以下特点: 管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道; 只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程); 单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并...

by davycu - Linux文档专区 - 2009-06-09 16:57:19 阅读(815) 回复(0)

我将代码中的pipe创建函数(红色部分)放置在循环外,程序运行后,报read pipe failed的错误! 如果将pipe创建函数(红色部分)放置在循环内,则程序运行正确,请问高手这是为什么呢? int main() { struct sockaddr_in s_addr,c_addr; char buf[SIZE]; char buf2[SIZE]; int num; int len; int s_fd; int fd[2]; int pid; len=sizeof(c_addr); s_fd=socket(AF_INET,SOcK_DGRAM,0); if(s_fd < 0) { myerr("create ...

by glcore - C/C++ - 2012-12-06 10:33:29 阅读(1638) 回复(2)

====== color="red">linux管道问题一则 ====== [root@localhost ~]# echo |>monitor.out [root@localhost ~]# cat monitor.out [root@localhost ~]# 如果不增加管道符的话,测试: [root@localhost ~]# echo >monitor.out [root@localhost ~]# cat monitor.out // 会有一行空行 [root@localhost ~]# 请问各位大虾,为什么增加“|”管道符文件为空呢?

by 奋斗的毛毛虫 - Linux新手园地 - 2012-11-07 10:50:31 阅读(914) 回复(1)

color="red">linux 的bash 中,使用 管道读入数据,但是没有得到对应的输入结果,请高手帮忙解决: wc -l test.txt | awk '{print $1}' | read fwcl echo “test.txt 文件有 $fwcl 行” 以上程序执行后, fwcl 变量中没有得到对应的数据。

by ljmmail - Shell - 2010-11-28 07:46:31 阅读(9550) 回复(20)