网站地图    收藏   

主页 > 系统 > linux系统 >

Linux IPC通讯之-管道(PIPE、FIFO) - Linux操作系统:

来源:自学PHP网    时间:2015-04-14 11:12 作者: 阅读:

[导读] Linux IPC通讯之-管道(PIPE、FIFO)本篇文章将对Linux IPC通讯进行总结,也是自己对IPC认识的总结。本次主要介绍管道与有名管道。管道(PIPE、FIFO):1、使用场合:Linux IPC 通讯方式比较老的一种...

Linux IPC通讯之-管道(PIPE、FIFO)
 
本篇文章将对Linux IPC通讯进行总结,也是自己对IPC认识的总结。本次主要介绍管道与有名管道。
管道(PIPE、FIFO):
1、使用场合:Linux IPC 通讯方式比较老的一种方式,比较适合数据量较小的通讯方式, 常用于控制命令。
ulimit -a 可以看到 pipe size            (512 bytes, -p) 8 4k
2、特点:半双工方式,如cmd process A->process B  ACK process B->process A
3、有名管道与无名管道的区别:
无名管道适用于具有亲缘关系的进程间通讯。
有名管道可以在任意进程间通讯,通过管道文件。
4、管道使用步骤
有名管道:
(1)mkfifo 创建管道文件
(2)open 打开管道文件,设置属性,一般写阻塞,读非阻塞
(3)read
(4)write
无名管道:
(1)pipe
(2)设置阻塞、非阻塞属性
(3)pipe[0] for read
     pipe[1] for write
5、注意事项:
(1)SIGPIPE
如果管道通讯一方已关闭fd,而本方要在写第一次报出此种信号,第二次段错误退出,要对此信号进行处理
(2)半双工方式
6、特殊用法:
线程间通讯:适合于传地址如大数据量的buf地址
 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论