我有两个独立的进程,都使用 msgget()
使用相同的键(key_t = 9189,作为两个进程的 cmd 行 arg 提供)创建消息队列,并且它们成功地发送和接收消息.
现在我有第三个独立的监控进程(提供相同的 key_t = 9189),它与消息无关,但它想监控消息队列的状态,所以我想使用 msgctl()
但它需要 int msqid
作为参数。
---那么如何使用已知的key_t
找到msqid
呢?
---如果我必须使用 msgget()
来查找 msqid
,因为这个监视过程必须监视几个这样的消息队列的状态,不是使用 >msgget()
会为了获取 msqid
而产生开销吗?
最佳答案
只能通过msgget
获取msqid
,简单明了。
关于c - 在 linux c 中使用已知的 key_t 查找 msqid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53001997/