Linux进程间通信的介绍
一、引言:在进程中说明了进程控制原语,并且观察了如何调用多个进程。但是这些进程之间交换信息的唯一途径就是传送打开的文件,可以经由fork或exec来传送,也可以通过文件系统来传送。下面将说明进程之间相互通信的其他技术——进程间通信(InterProcess Communication,IPC)。
二、概述:进程间通信就是在不同进程之间传播或交换信息
进程间通信(IPC,Interprocess communication)是一组编程接口,让程序员能够协调不同的进程,使之能在一个操作系统里同时运行,并相互传递、交换信息。这使得一个程序能够在同一时间里处理许多用户的要求。因为即使只有一个用户发出要求,也可能导致一个操作系统中多个进程的运行,进程之间必须互相通话。IPC接口就提供了这种可能性。每个IPC方法均有它自己的优点和局限性,一般,对于单个程序而言使用所有的IPC方法是不常见的。
三、进程间通信的几种方式:管道,FIFO,信号量以及共享内存和套接字等。
图中前10种IPC形式通常限于同一台主机的两个进程之间的IPC。最后两行(套接字和STREAMS)是仅有的支持不同主机上的两个进程之间IPC的两种形式。UNIX系统IPC摘要(参考《UNIX环境高级编程》,详细请看原文)。
四、在后面我们会介绍管道、FIFO、消息队列、共享存储、信号和信号量的相关API和通过代码演示如何使用。