- 论坛徽章:
- 0
|
#include "apue.h"
#include <sys/msg.h>
#include <sys/ipc.h>
int
main (int argc, char **argv)
{
struct msqid_ds msd;
key_t key;
int msgid;
int err;
key = ftok (argv[1], 0x28);
if (key == -1)
err_sys ("ftok");
printf ("%d\n", key);
msgid = msgget (key, IPC_CREAT | IPC_EXCL | 0x666);
if (-1 == msgid)
err_sys ("msgget");
printf ("%x %x\n", msgid, key);
err = msgctl (msgid, IPC_STAT, &msd);
if (-1 == err)
err_sys ("msgctl");
return 0;
} |
[buffalo@jingle apue]$ ./msgqrev oooo
671251234
90004 28027b22
msgctl: Permission denied
我自己创建的ipc消息队列,怎么连自己都有权限问题呢?我看了msgget和msgctl的manpage,没有找到答案,在root下执行程序没有问题,但是在普通用户下就不行,那位兄弟解释一下!
[ 本帖最后由 科技牛 于 2007-10-29 14:04 编辑 ] |
|