首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

UNPv2第四章:管道和FIFO

对于管道而言是不可能的 5.管道和FIFO的额外属性 下面是管道或者FIFO的读出与写入的若干额外规则: (1)如果请求读出的数据量多余管道或者FIFO的可用数据量,那么只返回可用数据量 (2)如果请求的数据字节小于等于PIPE_BUF...(3)O_NONBLOCK标志的设置对于write操作的原子性没有影响——原子性完全由所请求的字节数是否小于等于PIPE_BUF决定的。...如果待写字节数小于等于PIPE_BUF:  (i)如果空间足够则写入  (ii)如果空间不足,那么立即返回EAGAIN 如果待写字节数大于PIPE_BUF: ...每次连接一个记录:应用通过关闭与其对方的连接来指示一个记录的结束 7.管道和FIFO限制 系统加于管道和FIFO的唯一限制为 OPEN_MAX 一个进程在任意时刻打开的最大描述字数(至少16) PIPE_BUF

47230

Linux 的进程间通信:管道

微博ID:orroz 微信公众号:Linux系统技术 前言 管道是UNIX环境中历史最悠久的进程间通信方式。本文主要说明在Linux环境上如何使用管道。...所以,Linux上的管道就是一个操作方式为文件的内存缓冲区。 管道的分类和使用 Linux上的管道分两种类型: 匿名管道 命名管道 这两种管道也叫做有名或无名管道。...O_NONBLOCK打开,n <= PIPE_BUF: 如果有足够的空间存放n字节长度,write调用会立即返回成功,并且对数据进行写操作。...O_NONBLOCK关闭,n > PIPE_BUF: 对n字节的写入操作不保证是原子的,就是说这次写入操作的数据可能会跟其他进程写这个管道的数据进行交叉。...O_NONBLOCK打开,n > PIPE_BUF: 如果管道空间已满。write调用报错返回并且errno被设置为EAGAIN。

8.2K21
领券