Msgctl 消息队列控制|学习笔记

简介: 快速学习 Msgctl 消息队列控制

开发者学堂课程【物联网开发- Linux 高级程序设计全套视频Msgctl 消息队列控制】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/660/detail/11049


Msgctl 消息队列控制

 

内容介绍:

一、队列控制

二、实例

 

一、队列控制

1.格式:

#include <sys/nsg, h>

int msgctl (int usgid , int cmd,  struct.msqid_ds *buf);

2.功能:

对消息队列进行各种控制,如修改消想队列的属性,或删除消息消息队列。

3.参数:

msqid:消息队列的标识符。

cmd:函数功能的控制。

buf:  msqid_ds 数据类型的地址,用来存放或更改消息队列的属性。

cnd:函数功能的控制

IPC_RMID:删除由 msqid 指示的消息队列,将它从系统中删除并破坏相关数据结构。

IPC_STAT:将 msqid 相关的数据结构中各个元素的当前值存入到由buf 指向的结构中。

IPC_SET:将 msqid 相关的数据结构中的元素设置为由 buf 指向的结构中的对应值。

4.返回值:

成功:0   失败:-1

 

二、实例

1.删除消息队列

ret = msgctl(msg_id , IPC_RMID,NULL);

//不保存消息队列的属性用NULL

2.保存消息队列

struct msqid_ds tmp;

ret = msgctl(msg_id , IPC_STAT,&tmp);  //保存消息队列的属性

3.设置结构体属性

struct msqid_ds tmp;

ret = msgctl(msg_id , IPC_SET,&tmp);  //设置消息队列的属性(将 tmp 指向的结构体的内容设置为消息队列的属性)

相关文章
|
消息中间件 存储 中间件
【SpringCloud Stream消息驱动、设计思想以及整合rabbitmq消息队列案例--学习笔记】
【SpringCloud Stream消息驱动、设计思想以及整合rabbitmq消息队列案例--学习笔记】
596 0
|
消息中间件 监控 Java
手把手系列:消息队列 MNS 实操讲|学习笔记
快速学习手把手系列:消息队列 MNS 实操讲
867 0
手把手系列:消息队列 MNS 实操讲|学习笔记
|
消息中间件 运维 RocketMQ
消息队列 MNS 简史|学习笔记
快速学习消息队列 MNS 简史
552 0
消息队列 MNS 简史|学习笔记
|
消息中间件 移动开发 大数据
阿里云消息队列产品选型| 学习笔记
快速学习阿里云消息队列产品选型
742 0
阿里云消息队列产品选型| 学习笔记
|
消息中间件 存储 弹性计算
消息队列 kafka 销售指南| 学习笔记
快速学习消息队列 kafka 销售指南
消息队列 kafka 销售指南| 学习笔记
|
消息中间件 运维 物联网
微消息队列 MQTT 销售指南| 学习笔记
快速学习微消息队列 MQTT 销售指南
微消息队列 MQTT 销售指南| 学习笔记
|
消息中间件 存储 RocketMQ
消息队列和索引文件恢复|学习笔记
快速学习消息队列和索引文件恢复
消息队列和索引文件恢复|学习笔记
|
消息中间件 物联网 Shell
消息队列的创建及打开|学习笔记
快速学习消息队列的创建及打开
消息队列的创建及打开|学习笔记
|
消息中间件 缓存 NoSQL
数据类型-list 实现日志消息队列 | 学习笔记
快速学习数据类型-list 实现日志消息队列
数据类型-list 实现日志消息队列 | 学习笔记
|
消息中间件 NoSQL 关系型数据库
redis 实现消息队列及常用命令(三)|学习笔记
快速学习 redis 实现消息队列及常用命令(三)
584 0
redis 实现消息队列及常用命令(三)|学习笔记