当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > 关于管道使用规则的总结

关于管道使用规则的总结 时间:2014-08-21      来源:未知

中进程间通信方式中,有一种为无名管道。对管道的读写操作需要注意以下的使用规则:

1、当读的时候:

(1) 有写端,至少有一个进程,有写端存在

有数据:使用read可以读到pipe中的数据,返回实际读取的字节数

无数据:阻塞,等待其他进程向管道写入数据。

(2) 无写端,所有进程,写端都关闭了。

有数据:使用read可以读到pipe中的数据,返回实际读取的字节数

无数据:无写端意味着所有的写描述符关闭了,不会向管道中写入数据了,会立刻返回0.

2、 当写的时候:

(1) 有读端,至少有一个进程,读端存在。

有空间:可使用write向管道中写入内容,返回实际写入的字节数。

空间不足:有多少写多少,没写完的阻塞等待,直到其他进程将管道中数据读走,才继续写入数据。可写一个程序来测试无名管道的大小。(64K)

(2) 无读端,所有进程,写端都关闭了。

没有读端的时候,想写管道,会得到内核给的SIGPIPE信号。管道破裂。

管道读端不存在的时候,内核是不允许向管道内写入数据的。以下程序能够验证:

上一篇:shell脚本的编写基础

下一篇:基于S5PC100裸机程序之SPI(下)

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部