一、

1、管道(pipe)

半双工通信,数据只能单向流动。

只能在具有亲缘关系的进程间使用。

 

2、流管道

可以双向传输,也只能在具有亲缘关系的进程间使用。

 

3、命名管道

允许双向传输,也能在无亲缘关系的进程间使用。

 

二、信号(signal)

用于通知接受进程有某种事情发生

 

三、消息队列

消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的消息。

 

四、共享内存

映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多少个进程都可以访问。

 

五、信号量

信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正访问共享资源时,其他进程也访问该进程。