簡體   English   中英

如果為空,請檢查Unix Message Queue

[英]Check Unix Message Queue if empty or not

有人可以告訴我如何檢查消息隊列中是否有任何消息。 消息隊列在基於Linux的操作系統的C中實現。 我只想檢查特定時間消息隊列中是否有任何消息。

只需檢查消息的數量(如果有的話)即可

msgctl() 

函數,並在返回時檢查msqid_ds結構,此結構中的msg_qnum是隊列中的消息量。 這是一個帶有示例的鏈接: msgctl示例 ,它可以執行更多操作,但在msgctl()調用之后,您只需檢查上面提到的結構中的該字段。

#include <sys/msg.h>

main() {
  int msqid = 2;
  int rc;
  struct msqid_ds buf;
  int num_messages;

  rc = msgctl(msqid, IPC_STAT, &buf);
  num_messages = buf.msg_qnum;
}

這個例子應該做你想要的,只做你想做的事。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM