Linux进程间通信机制的一些细节
来源:互联网 发布:seo原创软文代写 编辑:程序博客网 时间:2024/05/05 02:10
前言
本文介绍Linux进程间通信机制的一些细节,将会持续更新。
管道
以下内容可以使用”man 7 pipe”查询到原文说明
- Pipe Capacity(管道容量)
write()写满管道,指的是把该管道容量写满,而不是PIPE_BUF,如果管道写满,write()将会阻塞或者失败,这取决于O_NONBLOCK标志是否设置。
在Linux 2.6.11版本之前,管道容量的大小跟系统一个页大小相同(例如:ide86的页大小是4096字节),自从Linux 2.6.11版本开始,管道容量则为65536字节 - PIPE_BUF(管道缓冲区)
该缓冲区大小主要是决定了写多少字节的一次操作是原子操作,即当要写入的数据量不大于PIPE_BUF时,linux将保证 写入的原子性 ;当要写入的数据量大于PIPE_BUF时,linux将不再保证写入的原子性,内核可能会穿插其他有血缘关系的进程写入管道的数据于其中。
POSIX.1-2001 要求PIPE_BUF至少有512字节,在Linux上,该大小为4096字节。可通过 cat /usr/include/linux/limits.h |grep PIPE_BUF 进行查看
参考博文:http://www.tuicool.com/articles/i6Bvu2(管道读写规则和Pipe Capacity、PIPE_BUF)
0 0
- Linux进程间通信机制的一些细节
- linux 进程间的各种通信机制
- Linux进程间通信机制
- Linux进程间通信机制
- linux下进程、以及进程间的通信机制
- 进程间的通信机制
- 进程间的通信机制
- 进程间的通信机制
- 【Linux的高级应用编程】进程间的通信机制
- Linux用户进程间通信机制在内核的实现
- Linux几种进程间通信机制的对比
- Linux用户进程间通信机制在内核的实现
- linux进程间的通信机制——信号
- linux进程间的通信机制--信号量互斥
- Linux进程间通信_IPC机制的深入理解2
- Linux下进程间通信的六种机制详解
- Linux进程间通信机制IPC
- Linux/windows 进程/线程间通信机制
- BOM
- 位运算——Reverse Bits
- IP路由及静态路由配置
- 该如何处理弹出“密码长度无效”错误
- 写linux驱动程序的步骤
- Linux进程间通信机制的一些细节
- SSM(二)Lucene全文检索
- 信息检索导论——五、索引压缩
- uboot搬移部分和重定位部分的代码分析
- Opencv显示创建Mat对象的七种方式
- qt#3线程使用
- 310. Minimum Height Trees
- 普通类如何引用Spring的bean?
- 解析Hash表算法