Найдите msqid, используя известный key_t в linux c

У меня есть два независимых процесса, оба создают очередь сообщений с использованием msgget() с одним и тем же ключом (key_t = 9189, предоставляется как аргумент строки cmd для обоих процессов), и они успешно отправляют и получают сообщения. Теперь у меня есть третий независимый процесс мониторинга (снабженный тем же key_t = 9189), который не имеет ничего общего с сообщениями, но хочет отслеживать состояние очереди сообщений, поэтому я думаю использовать msgctl(), но ему нужен int msqid в качестве аргумент.

--- Итак, как найти msqid, используя известный key_t? .
--- Если мне нужно использовать msgget() для поиска msqid, поскольку этот процесс мониторинга должен отслеживать состояние нескольких таких очередей сообщений, разве использование msgget() не создаст накладные расходы только для получения msqid?

0
0
189
1

Ответы 1

Вы можете получить msqid только от msgget, просто и понятно.

Другие вопросы по теме