进程间通信(IPC,Inter-Process Communication),指至少两个进程或线程间传送数据
或信号的一些技术或方法。每个进程都有自己的一部分独立的系统资源,彼此是隔离的。为
了能使不同的进程互相访问资源并进行协调工作,才有了进程间通信。
进程通信有如下的目的:
数据传输,一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到
几 M 之间;
共享数据,多个进程想要操作共享数据,一个进程对数据的修改,其他进程应该立刻
看到;
进程控制,有些进程希望完全控制另一个进程的执行(如 Debug 进程),此时控制
进程希望能够拦截另一个进程的所有异常,并能够及时知道它的状态改变。
系统进行进程间通信(IPC)的时候,可用的方式包括管道、命名管道、消息队列、信
号、信号量、共享内存、套接字(socket)等形式。