进程间通信(IPC,InterProcess Communication),即在不同进程之间进行信息的传播或交换;由于一般进程用户地址空间是独立的,不可直接访问其他进程地址空间,因此进程间进行信息交换必须通过系统内核进行;
进程间通信目的
数据传输,将一个进程的数据发送给另一个进程;
资源共享,多个进程间共享同样的资源;
通知事件,一个进程向另一个进程或一组进程发送信息,通知它们发生了某种事件(如进程终止时通知父进程);
进程控制,有些进程希望完全控制另一个进程的执行(如debug),此时进程希望能够拦截另一个进程的所有异常,并能够及时知道其状态的改变;
进程间通信的分类
管道
匿名管道pipe
命名管道
System V IPC
system V 消息队列
system V 共享内存
system V 信号量
POSIX IPC
信息队列
共享内存
信息量
互斥量
调节变量
读写锁