使用具有默认权限的“mq_open”函数实现消息队列。我知道我们可以使用mode参数设置消息队列的权限。但是,一旦我们编译了系统,是否有可能使用其他一些linux命令更改消息队列的权限(在运行时),而不是再次编译二进制文件?
答案 0 :(得分:0)
考虑使用以下内容:
int mq_setattr(mqd_t mqdes, struct mq_attr *newattr,
struct mq_attr *oldattr);
mq_setattr()使用newattr指向的mq_attr结构中提供的信息设置消息队列属性。
唯一可以修改的属性是在mq_flags中设置O_NONBLOCK标志。
newattr中的其他字段将被忽略。如果oldattr字段不为NULL,则它指向的缓冲区用于返回包含mq_getattr()返回的相同信息的mq_attr结构。
不幸的是,你可以看到它相当有限。