探索linux管道的容量
来源:互联网 发布:淘宝店能放音乐吗 编辑:程序博客网 时间:2024/05/15 01:56
管道特点:
(1)、单向通信。数据只能由一个进程流向另一个进程(其中一个读管道,一个写管道);如果要进行双工通信,需要建 立两个管道。
(2)、管道只能用于有血缘关系的进程间通信。
(3)、流式服务。发送和接收大小不受特定格式的限制。
(4)、管道的生命周期和进程有关。
(5)、同步与互斥原则。
fcntl()可以改变已打开的文件性质
F_GETFL 取得文件描述符状态旗标,此旗标为open()的参数flags。
F_SETFL 设置文件描述符状态旗标,参数arg为新旗标,但只允许O_APPEND、O_NONBLOCK和O_ASYNC位的改变,其他位的改变将不受影响。
#include<stdio.h>#include<sys/types.h>#include<unistd.h>#include<fcntl.h>#include<errno.h>#include<stdlib.h>#include<string.h>int main(){ int _pipe[2]; if(pipe(_pipe)==-1) { printf("pipe error\n"); return 1; } int ret; int count=0; int flag=fcntl(_pipe[1],F_GETFL); fcntl(_pipe[1],F_SETFL,flag|O_NONBLOCK); while(1) { ret=write(_pipe[1],"A",1); if(ret==-1) { printf("error %s\n",strerror(errno)); break; } count++; } printf("count=%d\n",count); return 0;}
所以管道的容量是64kb。
0 0
- 探索linux管道的容量
- 管道容量以及缓冲区的组成 (Linux)
- [Linux] 管道容量以及缓冲区的组成
- Linux环境下的管道容量
- linux下验证管道的容量
- linux--管道及管道容量
- Linux管道的容量大小及管道的数据结构
- Linux管道容量
- Linux中的管道容量
- Linux下的管道pipe----管道容量和实现机制
- 测试管道的容量
- 管道容量的验证
- 测试管道的容量
- Linux环境测试管道容量
- linux下管道的容量以及实现机制
- linux下管道的容量以及实现机制
- Linux下的管道容量及其实现机制
- Linux下的管道容量及其实现机制
- Tomcat
- shell 脚本的基础
- 1016 ProblemP
- 使用DOM4J解析xml
- (1)MySQL语句规范
- 探索linux管道的容量
- Linux内核---8.filechk函数分析
- 运维小技巧:使用ss命令代替 netstat,和netstat说再见
- Codeforces Round #360 (Div. 2) D. Remainders Game
- NYOJ86找球号(一)
- Android开发Calendar的基本使用
- 聊聊同步、异步、阻塞与非阻塞
- HDU-1054 Strategic Game(二分图最小顶点覆盖)
- 关于stm32 HardFault_Handler 异常的处理 死机