加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如果为空,请检查Unix Message Queue

发布时间:2020-12-15 21:46:22 所属栏目:安全 来源:网络整理
导读:有人可以告诉我如何检查消息队列中是否有任何消息. 消息队列在基于 Linux的操作系统的C中实现. 我只想检查特定时间消息队列中是否有任何消息. 解决方法 只需检查消息的数量(如果有的话)即可 msgctl() 函数,并在返回时检查msqid_ds结构,此结构中的msg_qnum是
有人可以告诉我如何检查消息队列中是否有任何消息.
消息队列在基于 Linux的操作系统的C中实现.
我只想检查特定时间消息队列中是否有任何消息.

解决方法

只需检查消息的数量(如果有的话)即可

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;
}

这个例子应该做你想要的,只做你想做的事.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读