1.System V IPC 介绍
1.消息队列
消息队列是用来进程之间传递消息的,与管道有点像,但存在2个重要的差别。
1.消息队列存在边界
2.每条消息都包括一个整形的type 字段,并且可以通过类型的选择消息而无需以消息被写入的顺序来读取消息
2.信号量
允许多个进程同步它们的动作。一个信号量是一个由内核维护的整数值。
3.共享内存
共享内存是的多个进程能够共享内存。
2.IPC key
创建 IPC key:
1.随机的选取一个整数值作为 key 值。
2.在创建 IPC 对象的 get 调用中将 IPC_PRIVATE 常量作为 key 的值。
3.使用 ftok()函数生成一个 key.
ftok() 使用 i-node 号来生成 key 值,而并没有使用文件名来生成 key 值。由于 ftok 算法依赖 i-node,因此在应用程序的生命周期中,
不应该将文件删除和重新创建,因为重新创建文件时,很可能会分配到一个不同的 i-node 号。
ftok(); //返回一个适合在后续对某个 System V IPC get 系统调用进行调用时使用的 key。
ipcs
ipcrm