代码改变世界

Linux进程间通信

2011-02-22 22:17  OCaml  阅读(268)  评论(0编辑  收藏  举报

 

  

l  通信方式:

1、  管道(Pipe)和命名管道(name Pipe):管道可用于有亲缘关系的进程间的通信,命名管道 还允许没有亲缘关系的进程间通信。但是数据都是单向传递。

2、  信号(Signal):信号是比较复杂的通信方式,可以用来通知接受进程(包括自己)某个事件发生了。Linux支持sigal(传统的)和sigactionBSD)。

3、  消息队列(Message):消息队列通过链表实现地。解决signal信息量少的问题。

4、  内存共享(memory share):最快的可用IPC通信。常与信号量结合使用,可以达到进程间的同步和互斥。

5、  信号量(semaphore):主要用于解决进程之间的同步。

6、  套接字(socket):支持不同机器之间进程之间的通信。