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