系统为每一个IPC对象保存一个ipc_perm结构体,该结构说明了IPC对象的权限和所有者,每一个版本的内核各有不用的ipc_perm结构成员。若要查看详细的定义请参阅文件<sys/ipc.h>。

ipc_perm 结构定义于中,原型如下:
struct ipc_perm
{
key_t        key;                        调用shmget()时给出的关键字
uid_t           uid;                      /*共享内存所有者的有效用户ID */
gid_t          gid;                       /* 共享内存所有者所属组的有效组ID*/
uid_t          cuid;                    /* 共享内存创建 者的有效用户ID*/
gid_t         cgid;                   /* 共享内存创建者所属组的有效组ID*/
unsigned short   mode;    /* Permissions + SHM_DEST和SHM_LOCKED标志*/
unsignedshort    seq;          /* 序列号*/
};

每一种版本的ipc_perm结构体定义至少要包含上述几个域。当调用IPC对象的创建函数(semget msgget shmget )时,会对ipc_perm结构的每一个域赋值。在后续的操作中如需修改这几个域则调用相应的控制函数(msgctl semctl shmctl)。

注意:只有超级用户或者创建IPC对象的进程有权改变ipc_perm结构的值。结构中的mode域类似于文件的stat结构的mode域,但是不可以有执行权限。mode值描述如表14-3所示。

表14-3  ipc_perm的mode详解表

操作者

写(更改 更新)

操作者

写(更改 更新)

用户

0400

0200

其他

0004

0002

0040

0020

ipc_perm 详解相关推荐

  1. 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)

    首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...

  2. JVM年轻代,老年代,永久代详解​​​​​​​

    秉承不重复造轮子的原则,查看印象笔记分享连接↓↓↓↓ 传送门:JVM年轻代,老年代,永久代详解 速读摘要 最近被问到了这个问题,解释的不是很清晰,有一些概念略微模糊,在此进行整理和记录,分享给大家.在 ...

  3. docker常用命令详解

    docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...

  4. 通俗易懂word2vec详解词嵌入-深度学习

    https://blog.csdn.net/just_so_so_fnc/article/details/103304995 skip-gram 原理没看完 https://blog.csdn.net ...

  5. 深度学习优化函数详解(5)-- Nesterov accelerated gradient (NAG) 优化算法

    深度学习优化函数详解系列目录 深度学习优化函数详解(0)– 线性回归问题 深度学习优化函数详解(1)– Gradient Descent 梯度下降法 深度学习优化函数详解(2)– SGD 随机梯度下降 ...

  6. CUDA之nvidia-smi命令详解---gpu

    nvidia-smi是用来查看GPU使用情况的.我常用这个命令判断哪几块GPU空闲,但是最近的GPU使用状态让我很困惑,于是把nvidia-smi命令显示的GPU使用表中各个内容的具体含义解释一下. ...

  7. Bert代码详解(一)重点详细

    这是bert的pytorch版本(与tensorflow一样的,这个更简单些,这个看懂了,tf也能看懂),地址:https://github.com/huggingface/pytorch-pretr ...

  8. CRF(条件随机场)与Viterbi(维特比)算法原理详解

    摘自:https://mp.weixin.qq.com/s/GXbFxlExDtjtQe-OPwfokA https://www.cnblogs.com/zhibei/p/9391014.html C ...

  9. pytorch nn.LSTM()参数详解

    输入数据格式: input(seq_len, batch, input_size) h0(num_layers * num_directions, batch, hidden_size) c0(num ...

最新文章

  1. 键盘谍影 键盘监视器的原理和防范
  2. python中print用法
  3. python上传文件到windows_python自动化-WinSpy+pywin32文件上传操作
  4. Sql2008的行列转换之行转列
  5. MySQL亿级数据量实时同步,小米如何完美hold住
  6. SAP Cloud for Customer和Hybris Commerce的session保护机制
  7. java更好的语言_Java,如果这是一个更好的世界
  8. 岗位po是什么意思_面试时,面试官问你有什么优点和缺点?应该如何巧妙的回答?...
  9. 【软件测试】测试驱动开发
  10. birt报表的行隐藏和列隐藏以及分组显示
  11. 2017.5 期中考试 完挂
  12. c开头英文语言,C开头的考研英语词汇
  13. golang | 变量-字符串练习
  14. 华为荣耀路由器虚拟服务器,华为荣耀路由器登录入口设置指南
  15. 图片标注工具Labelme的安装及使用方法
  16. 极智开发 | UmiJS 快速上手
  17. python 复制到剪贴板_Python脚本将文本复制到剪贴板
  18. 【视频编码】1080P、720P、4CIF、CIF所需要的理论带宽
  19. 如何找到生日中阴阳历重合的年份
  20. 治近视的秘方!1000度近视降到只有200度

热门文章

  1. Windwos2008如何关闭IE增强的安全配置
  2. 桌面不显示IE浏览器图标
  3. 每周推荐阅读第一季结束
  4. 滑动相关的原理以及用滤波器实现滑动相关(匹配滤波器捕获DMF)
  5. 02-leveldb入门
  6. ALCOA+CCEA原则(数据完整性标准)
  7. 期望最大化(Expectation Maximization)算法介绍
  8. @Inject和@Named
  9. Slf4j之MDC机制
  10. 基于matlab的电机,基于MATLAB的电机仿真研究