[英]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.