Linux消息队列实现进程间通信实例详解

2019-09-23 09:06:05王旭

删除消息队列:msgctl()
这里写图片描述
代码实现:
这里写图片描述

发送消息:msgsnd()

接收消息:magrcv(),这两个函数实现进程间的双向通信
这里写图片描述 

参数:msqid-消息队列标识码

msgp-指向消息缓冲区的指针,此位置是用来暂时存储发送和接收的消息,是一个用户可定义的通用结构。
msgtyp-从消息队列内读取的消息形态。如果值为0,则表示消息队列中,所有消息被读取。
msgsz:消息的大小

返回值:成功返回0,失败则返回-1.
这里写图片描述

那么如何查看系统中正在运行的消息队列呢?

介绍两个命令:ipcs -q 查看消息队列

ipcrm -q msgid 删除此消息队列
这里写图片描述

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!