码迷,mamicode.com
首页 >  
搜索关键字:pipe_buf    ( 6个结果
APUE:进程间通信
管道 半双工。一般由父进程创建,用于父子进程间、子进程间通信。匿名,一对一。 简单执行命令行,并读写标准输入输出。 FIFO(命名管道) 用法:服务端创建一个 FIFO,其它任何进程都可以向其写入数据,服务端读到数据后处理。可以一读多写。写数据的大小小于 PIPE_BUF 时为原子操作。 类似文件操 ...
分类:系统相关   时间:2017-05-28 18:49:46    阅读次数:254
管道 一些知识
1、参考:http://bbs.chinaunix.net/thread-3699479-1-1.html1.1、二楼 说到:“小于或等于 PIPE_BUF 字节的 write 一定是原子操作,超过这个值的不一定。POSIX 规定 PIPE_BUF 至少是 512。”1.2、九楼 说到:“PIPE_...
分类:其他好文   时间:2015-11-09 16:56:15    阅读次数:228
linux程序设计——使用FIFO的客户/服务器的应用程序(第十三章)
13.6.2    使用FIFO的客户/服务器应用程序 作为学习FIFO的最后一部分内容,现在考虑怎样通过命名管道来编写一个非常简答的客户/服务器应用程序。用一个服务器进程来接受请求,对它们进行处理,最后把结果数据返回给发送请求的一方:客户。 如果想要允许多个客户进行都可以向服务器发送数据,假设被处理的数据可以被拆分为一个个数据块,每个的长度都小于PIPE_BUF字节。 因为服务器每次只能处...
分类:系统相关   时间:2015-07-16 09:49:59    阅读次数:193
linux中的PIPE_SIZE与PIPE_BUF,管道最大写入值问题
现在开发的项目是从solaris到linux的应用移植。经常用到popen函数,使用8192字节的数组读取popen输出,但没有进行溢出判断。 刚开始认为是一个简单的内存越界,但对popen和PIPE调查以后,疑惑越来越多了。 1)问题的引出 popen使用管道来记录被调用命令的输出,那么popen的最大写入字节数必然是管道的最大值。 使用linux的ulimit -a来查看系统限制:...
分类:系统相关   时间:2015-03-08 18:51:38    阅读次数:1285
IPC: 管道
管道(管道都是单向的半双工数据流) 管道分类: 1.无名管道:只能在具有共同祖先的进程间使用。 2.命令管道:可以在无论是否有亲缘关系的进程间使用,只能在同一主机上使用。 无名管道使用fcntl设置非阻塞模式, 有名管道可以使用open活fcntl设置非阻塞模式。 管道和fifo的限制: OPEN_MAX :一个进程在任意时刻打开的最大描述符数; PIPE_BUF :可原子的写往一个管道或fifo的最大数据量。...
分类:其他好文   时间:2015-02-28 20:24:37    阅读次数:237
进程间通信和同步
进程间通信和同步半双工管道 原型:int pipe(intfiledes[2]); 实质上是创建两个文件描述符,filedes[0]用于读,filedes[1]用于写。 当写入数据的数目小于PIPE_BUF时,写入是原子的,当大于PIPE_BUF时,可能不是原子的。 如果管道是空的,那么read会被阻塞,如果管道是满的,那..
分类:系统相关   时间:2015-02-21 21:11:14    阅读次数:223
6条  
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!