当前位置: 首页 > 工具软件 > Open-MQ > 使用案例 >

mq_open: Permission denied

夹谷弘亮
2023-12-01

问题:linux中使用mq_open(3)时,已经按照man 7 mq_overview提示挂载/dev/mqueue,但还是permission denied。

解决: 可能是你的mq名字设置不对。linux接受的mq名字只能开头带一个斜杠。

mqd_t mqd = mq_open("/tmp/mqd", O_RDONLY | O_CREAT, S_IRUSR| S_IWUSR , NULL); //Permission denied
mqd_t mqd = mq_open("/mqd", O_RDONLY | O_CREAT, NULL);  //Invalid argument 
mqd_t mqd = mq_open("/mqd", O_RDONLY | O_CREAT, S_IRUSR| S_IWUSR , NULL); //正确

而且需要注意的是,如果是需要创建的mqd不存在,那么,必须加上权限设置比如S_IRUSR这些。否则Invalid argument

 类似资料:

相关阅读

相关文章

相关问答