修改show_msg使它能打印出消息队列的所有者和权限。

动态 未结 0 70
小小草
小小草 LV1 2023年9月23日 23:40 发表
以下是修改后的show_msg函数: ```c void show_msg(int msgid) { struct msqid_ds buf; if (msgctl(msgid, IPC_STAT, &buf) == -1) { perror("msgctl"); exit(EXIT_FAILURE); } printf("Message queue owner UID: %d\n", buf.msg_perm.uid); printf("Message queue owner GID: %d\n", buf.msg_perm.gid); printf("Message queue access permissions: %#o\n", buf.msg_perm.mode); } ``` 在原有的基础上,我们使用了msgctl函数获取消息队列的属性,并从中提取出所有者的UID和GID以及访问权限。最后将这些信息打印出来。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复