1,system v ipc的三种方式
- system v 消息队列
- system v 信号量
- system v 共享内存
消息队列 | 信号量 | 共享内存 | |
头文件 | <sys/msg.h> | <sys/sem.h> | <sys/shm.h> |
创建或打开ipc的函数 | msgget | semget | shmget |
控制ipc操作的函数 | msgctl | semctl | shmctl |
ipc操作函数 | msgsnd msgrcv |
semop | shmat shmdt |
2,key_t 键和 ftok 函数
三种类型的system v ipc 使用key_t值作为它们的外部名字。在头文件<sys/types.h>里key_t 这个数据类型定义为一个32位的整数。
函数ftok 将一个已存在的路径名和一个整数标识符转换成一个key_t 值,这个值通常被称为IPC 键。
#include <sys/ipc.h>
key_t ftok(const char *pathname, int id);