qfedu-linux-advanced-level/day5/msgque_msgctl_test.c

30 lines
625 B
C
Raw Normal View History

2023-08-18 16:47:04 +08:00
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <stdio.h>
#include <stdlib.h>
// 测试 msgctl ,用于删除消息队列
int main()
{
key_t key = ftok("/", 65); // 使用ftok函数生成一个唯一的键值
int msqid = msgget(key, 0666 | IPC_CREAT); // 创建或获取消息队列
if (msqid == -1)
{
perror("msgget");
exit(1);
}
// 控制操作:删除消息队列
if (msgctl(msqid, IPC_RMID, NULL) == -1)
{
perror("msgctl");
exit(1);
}
printf("Message queue removed successfully.\n");
return 0;
}