进程间通信(IPC,InterProcess Communication) 是指在不同进程之间传播或交换信息。 IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。 其中 Socket和Streams支持不同主机上的两个进程IPC。
通信的原理:进程在os上运行,os提供了很多资源共享,让他们进行通信,例如共享文件,共享内存等。
常用的进程间通信方式有以下三种:
第一种:管道FIFO
特点:FIFO 单向
管道本质上就是 在os中创建一个零时文件(mkfifo(路径名字char *path,文件权限flags)),一个进程写入,一个进程读取
管道对文件进行了一点点改动,(你要创建的文件名字,一般放在/tmp/) (删除:unlink)
1、文件是有大小的,一般只有4K/8K,
2、写入则存放数据,读取则删除数据;
3、如果满了,继续写----写进程阻塞等待空间