检查IPC消息队列是否已存在而不创建它

时间:2016-11-30 13:14:53

标签: c linux ipc message-queue

如何在不制作消息队列的情况下检查消息队列是否存在?

使用带有msgget标志的O_CREAT | O_EXCL时,如果它存在,则调用将失败并返回值为-1,但如果它没有,则它将创建一个新的消息队列。有什么方法可以检查吗?

1 个答案:

答案 0 :(得分:0)

ipcs(1)提供有关IPC设施的信息,ipcrm(1)可用于从系统中删除IPC对象。

列出共享内存段:

ipcs -m

列出邮件队列:

ipcs -q

删除使用shmkey创建的共享内存段:

ipcrm -M key

删除shmid识别的共享内存段:

ipcrm -m id

删除使用msgkey创建的消息队列:

ipcrm -Q key

删除msgid标识的消息队列:

ipcrm -q id