有人能告訴我如何檢查消息隊列中是否有消息。消息隊列在基於Linux的操作系統中的C中實現。 我只想檢查特定時間在消息隊列中是否有消息。檢查Unix消息隊列是否爲空
回答
只是檢查的量(如果有的話)的消息的完成使用
msgctl()
功能,並檢查返回時的msqid_ds結構,在這種結構的msg_qnum是隊列中的消息的數量。這裏是一個例子的鏈接:msgctl example,它確實比你想要的要多,但在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;
}
這個例子應該做你想做的,只做你想做的。
我無法理解此功能在做什麼確切地說,但據我所知,這段代碼試圖連接到消息隊列,如果它無法連接它將顯示錯誤。但是,這將如何判斷消息隊列中是否存在消息? –
的確如此,我有點太快了,對不起。我更新了文本,只檢查IF是否有消息。 – ikku
它比thanx好很多 –
- 1. Linux:檢查消息隊列是否爲空
- 2. unix消息隊列
- 3. 如何檢查隊列是否爲空?
- 4. Kombu + RabbitMQ:檢查隊列是否爲空
- 5. UNIX消息隊列是否維護消息順序?
- 6. 檢查隊列是否空了uploadify 3.2
- 7. 如何檢查隊列中是否有消息
- 8. 如何檢查joomla 2.5的消息隊列中是否有消息?
- 9. 檢查列是否爲空
- 10. 檢查的消息隊列存在
- 11. 在消息接受()隊列IPC UNIX
- 12. UNIX消息隊列分段錯誤
- 13. 是否有最小的消息隊列?
- 14. umask是否會影響消息隊列?
- 15. 檢查列是否爲空或空
- 16. 如何檢查全局調度隊列是否爲空?
- 17. 檢查文本框是否爲空,然後發佈消息框
- 18. 檢查其他列列是否爲空
- 19. 爲Azure Web作業輸出隊列預防空隊列消息
- 20. VB6查看消息隊列
- 21. UNIX消息隊列msgrcv未能收到消息
- 22. Windows消息隊列是否以FIFO方式處理消息?
- 23. 消息隊列:網絡故障時消息是否丟失?
- 24. 檢查窗口是否是消息框
- 25. 數據幀,檢查列是否爲空
- 26. 檢查MySQL列是否爲空
- 27. 如何檢查列表是否爲空?
- 28. Java ArrayList - 檢查列表是否爲空
- 29. C#檢查datagridview列是否爲空
- 30. 檢查下拉列表是否爲空
你如何實現你的消息隊列?你使用了什麼系統調用('mq_open'等....)?你能改變處理這些隊列的例程嗎? –
我只是遵循本指南http://beej.us/guide/bgipc/output/html/multipage/mq.html 我已將我的消息隊列列在此處 –