设为首页 加入收藏

TOP

多进程编程(十二)
2012-08-26 13:53:26 来源: 作者: 【 】 浏览:13323
Tags:进程 编程
sp;        cmd定义值表明了各操作动作的定义.
             . IPC_STAT:将msqid相关的数据结构中各个元素的当前值放入由
                 buf指向的结构中.
             . IPC_SET:将msqid相关的数据结构中的下列元素设置为由buf指
                 向的结构中的对应值.
                 msg_perm.uid
                 msg_perm.gid
                 msg_perm.mode
                 msg_qbytes
                 本命令只能由有效UID等于msg_perm.cuid或msg_perm.uid的
                 进程或有效UID有合适权限的进程操作.只有具有合适权限的
                 用户才能增加msg_qbytes的值.
             . IPC_RMID:删除由msqid指示的消息队列.将它从系统中删除并
                 破坏相关的数据结构.
                 本命令只能由有效UID等于msg_perm.cuid或msg_perm.uid的
                 进程或有效UID有合适权限的进程操作.
        返回值:调用成功则返回值为0,否则为-1.
    16.msgget()
        功能:取得一个消息队列.
        语法:#include <sys/types.h>
             #include <sys/ipc.h>
             #include <sys/msg.h>
             int msgget(key,msgflg)
             key_t key;
             int msgflg;
        说明:本系统调用返回与参数key相关的消息队列的标识符.
             若以下事实成立,则与消息队列相关的标识符和数据结构将被创
             建出来:
             . 若参数key等于IPC_PRIVATE.
             . 若参数key没有一个已存在的消息队列标识符与之相关,同时值
               (msgflg&IPC_CREAT)为真.
             创建消息队列时,与新的消息队列标识符相关的数据结构将被初
             始化为如下:
             . msg_perm.cuid和msg_perm.uid设置为调用进程的有效UID.
             . msg_perm.cgid和msg_perm.gid设置为调用进程的有效GID.
             . msg_perm.mode访问权限比特位设置为msgflg访问权限比特位.
             . msg_qnum,msg_lspid,msg_lrpid,msg_stime,msg_rtime设置为0.
             . msg_ctime设置为当前系统时间.
             . msg_qbytes设置为系统允许的最大值.
        返回值:调用成功则返回一非0值,称为消息队列标识符;否则返回值为-1.
        例子:本例将包括上述所有消息队列操作的系统调用:
             #define RKEY 0x9001L    /*读消息队列的KEY值*/
             #define WKEY 0x9002L    /*写消息队列的KEY值*/
             #define MSGFLG 0666     /*消息队列访问权限*/
             #define IPC_WAIT 0    
首页 上一页 9 10 11 12 13 14 15 下一页 尾页 12/25/25
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Core Dump?! 下一篇字符串转换篇

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: