IPC对象
键是IPC对象的外部名称,作用是让通信的双方进程通过相同的键汇聚到同一个IPC对象上
键的本质是一个整数,A,B在同一个整数下碰头
ftok函数 创建键
通过路径可知道文件i节点,从而知道文件设备ID(int),i节点号(int)
通过指定不同的文件,不同的整数,保证键不同
共享内存
shmget函数 创建/获取内存
shmat函数 映射
shmdt函数 解除映射
shmctl函数 释放内存
存入共享内存
读取共享内存
敲回车完成
ipcs命令,查看所有ipc对象
wshm创建键
rshm
消息队列
本质是一个链表,先进先出
发送方插入节点,接收方摘取节点
msgget函数
msgsnd函数
通过结构体实现该内存
struct buf{
long type;
double data;
}
msgrcv函数
long msgtyp int msgflg
0 不区分类型
100 0 指定类型为100
100 MSG_EXCEPT 去除100类型
-200 接收小于等于|-200|类型的消息
msgctl函数
阻塞方式读消息,等在消息列表
创建消息队列
fgets将\n存到存储区,所以为12字节
读取消息后,消息为0
销毁消息队列
非阻塞方式读消息,过一会看一眼消息列表过一会看一眼
IPC命令