实用技巧:Linux系统调用Msgget函数详解
浏览:24日期:2022-07-31
;功能描述: 获取与某个键关联的消息队列标识。消息队列被建立的情况有两种: 1.如果键的值是IPC_PRIVATE。 2.或者键的值不是IPC_PRIVATE,并且键所对应的消息队列不存在,同时标志中指定IPC_CREAT。 如果新的消息队列被建立,它关联的msqid_ds数据结构初始化如下: msg_perm.cuid 和 msg_perm.uid设为调用者的有效用户标志; msg_perm.cgid 和 msg_perm.gid设为调用者的有效用户组标志; msg_perm.mode最低9个位设为msgflg的最低9个位; msg_qnum,msg_lspid,msg_lrpid,msg_stime和msg_rtime设为0; msg_ctime设为当前时间; msg_qbytes设为系统限制MSGMNB。 用法: #include #include #include int msgget(key_t key, int msgflg); 参数: key:消息队列关联的键。 msgflg:消息队列的建立标志和存取权限。 返回说明: 成功执行时,返回消息队列标识值。失败返回-1,errno被设为以下的某个值 EACCES:指定的消息队列已存在,但调用进程没有权限访问它,而且不拥有CAP_IPC_OWNER权能 EEXIST:key指定的消息队列已存在,而msgflg中同时指定IPC_CREAT和IPC_EXCL标志 ENOENT:key指定的消息队列不存在同时msgflg中不指定IPC_CREAT标志 ENOMEM:需要建立消息队列,但内存不足 ENOSPC:需要建立消息队列,但已达到系统的限制
标签:
Linux系统
相关文章:1. 猎豹浏览器怎么阻止网站调用麦克风?禁止网站调用麦克风方法简述2. uc浏览器插件怎么安装?uc浏览器插件安装方法讲解3. 如何找ie浏览器插件?找ie浏览器插件的方法讲解4. 笔记本电池鼓包还能使用吗?电池鼓包的处理方法5. 星愿浏览器怎么样?星愿浏览器详情介绍6. 桌面多了一个IE是什么原因?解决桌面多了一个IE的方法说明7. 2017年08月CPU天梯图 新增线程撕裂者/Core X/Ryzen 3系列型号8. 荣耀MagicBook 14的屏幕分辩率是9. 系统自带IE浏览器如何删除?删除系统自带IE浏览器的方法说明10. 傲游浏览器如何设置缓存文件位置?浏览器缓存文件位置设置方法