System v shm的key

Posted 笨鸟居士的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了System v shm的key相关的知识,希望对你有一定的参考价值。

shmget函数用于创建或打开一个共享内存区对象,shmget成功调用会返回一个共享内存区的标识符,供其它的共享内存区操作函数使用。

key:用于创建共享内存区的键值,这个在前面其他System IPC创建的时候已经讨论过了,System IPC都有一个key,作为IPC的外部标识符,创建成功后返回的描述符作为IPC的内部标识符使用。key的主要目的就是使不同进程在同一IPC汇合。key具体说可以有三种方式生成:

  • 不同的进程约定好的一个值;
  • 通过相同的路径名和项目ID,调用ftok()函数,生成一个键;
  • 还可以设置为IPC_PRIVATE,这样就会创建一个新的,唯一的IPC对象;然后将返回的描述符通过某种方式传递给其他进程;
  1. #define PATH_NAME "/tmp/shm"  
  2. key_t key = ftok(PATH_NAME, 0);  

以上是关于System v shm的key的主要内容,如果未能解决你的问题,请参考以下文章

system v 共享内存区

system v 共享内存

System V 共享内存

Linux system v 共享内存

mmap和shm共享内存的区别和联系

shell awk sed实战