自己写程序做实验时,可以用ls -l命令查看管道里有多少数据。这样比较爽~~
编程方面:
用open打开时,另一端如果没打开,这边就要等待,不管是读的一端还是写的一端
reader:
read调用:
只要管道中还有数据,不管写的一端是否关闭了,它都可以读,read调用返回大于0的数;假如没有数据,而另一端还开着,它就等到有数据来;假如没有数据而且另一端已经关了,它就返回0。假如是文件描述符无效,才返回-1。
writer:
write调用:
如果读一段已经关闭了,还要写的话,就会收到信号“断裂的管道”。没关的话,只要管道还有足够的空间放下要写的数据块,它就能成功,否则阻塞直到有足够的空间。
阅读(378) | 评论(0) | 转发(0) |