Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16488
  • 博文数量: 3
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 70
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-23 11:52
个人简介

没有最好,只有更好!

文章分类
文章存档

2013年(2)

2011年(1)

我的朋友

分类: LINUX

2013-08-14 21:46:44

本篇文章将对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地址
阅读(2580) | 评论(0) | 转发(1) |
0

上一篇:Linux 锁相关

下一篇:没有了

给主人留下些什么吧!~~