ipc_perm 详解
来源:互联网 发布:京东商城 ios源码 编辑:程序博客网 时间:2024/06/06 16:33
系统为每一个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 详解
- 消息队列(Message Queues)有关的数据结构 ipc_perm msgbuf msg msqid_ds
- 消息队列(Message Queues)有关的数据结构 ipc_perm msgbuf msg msqid_ds
- unpv2中:struct ipc_perm没有名为seq的成员 的解决办法
- 详解
- 详解
- 详解
- 详解
- &,&&,|,||详解
- 详解
- Scala详解--------基础知识详解
- Spring详解-----------事务详解
- github 详解详解
- InputFilter详解、TextWatcher详解
- Spring详解-----------事务详解
- 【词汇详解】事务详解
- Session 详解
- Session 详解
- Effective Java 读书笔记(一)
- ACM程序&算法
- GDI+ / PNG 实现半透明窗口,正常情况下没有问题 将系统设置为16位色后UpdateLayeredWindow函数失败,GetLastError返回8(ERROR_NOT_ENOUGH_MEMORY)
- 请求处理问题
- Flex技术网站收录------持续追加中......
- ipc_perm 详解
- 关于gcc,libc等相关概念的理解
- 解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题
- Javascript实现HTML的字体缩放
- 正则表达式学习参考
- 请各位高手帮帮忙
- VS2005下QT学习笔记-OpenGL编程
- css实现内容上下左右居中的效果
- CoR 模式的两种形式