350 进程间通信方式
多个进程各自有独立的内存空间,那它们怎么互相传递信息呢?就像不同房子里的人怎么交流?Unix/Linux提供了多种"进程间通信"(IPC)的方式。今天我们来一一了解。
一、为什么需要进程间通信?
想象一个场景:一个Web服务器,一个进程负责接收请求,另一个进程负责查询数据库,还有一个进程负责写日志。它们需要互相传递数据——这就需要进程间通信。
生活比喻:不同房子(进程)之间可以:
- 寄信(管道)
- 共享储物柜(共享内存)
- 打电话(套接字)
- 公告板(信号)
二、管道(Pipe)
最简单的方式——一个进程写,另一个进程读。
无名管道(父子进程间)
#include<stdio.h>#