Сделайте бывший бесполезный 'DE'.. просто запишите DE, CA, Великобритания, как это, без кавычек
Нет никакой команды, о которой я знаю, но там существует libc вызов функции, который может получить статистику:
человек 3 mq_getattr
mq_getattr() returns an mq_attr structure in the buffer pointed by
attr. This structure is defined as:
struct mq_attr {
long mq_flags; /* Flags: 0 or O_NONBLOCK */
long mq_maxmsg; /* Max. # of messages on queue */
long mq_msgsize; /* Max. message size (bytes) */
long mq_curmsgs; /* # of messages currently in queue */
};
Если Вам повезло использовать HP-UX, команду pipcs
(PDF) выполняет POSIX, эквивалентный SysV IPC ipcs
команда. К сожалению, это никогда не появлялось для другой ОС. Ток (март 2013) пакет util-linux, который обеспечивает ipcs
едва упоминания POSIX mqueues.
Если Вы имеете mqueue
смонтированный на /dev/mqueue
, то, что поддерживается, просто читает очередь как файл:
user@linux $ cat /dev/mqueue/myQ
QSIZE:0 NOTIFY:0 SIGNO:0 NOTIFY_PID:0
QSIZE
к сожалению, размер в байтах, не сообщения; на Linux нет (пока еще) никакого поля количества сообщения - в отличие от FreeBSD, который обеспечивает a CURMSG
значение:
user@freebsd $ cat /mnt/mqueue/myQ
QSIZE:0 MAXMSG:32 CURMSG:0 MSGSIZE:1024
Таким образом, ответ должен быть, "монтируют mqueue FS и использование cat
", но это не :(
(Монтирование mqueue FS не является предпосылкой для использования API MQ, это просто позволяет Вам сделать некоторых, "все - файл" материал.)
Если действительно необходимо контролировать очереди, книга, Интерфейс программирования Linux имеет исходный код C для различных инструментов CLI, чтобы создать, осмотреть и использовать очереди сообщений. Счастливо глава 52 книги, которая затрагивает эту тему, в настоящее время доступна бесплатно для загрузки. Посмотрите pmsg_getattr.c
.
Канонический код ссылки от Сетевого программирования Unix Stephen (Vol 2) 2-й Ed. (1999) доступно здесь, это обеспечивает среди других вещей mqgetattr
который сделает задание также (хотя необходимо будет, вероятно, массажировать несколько строк на верхнем уровне config.h
, #define
для различного uint
типы конфликтуют с современными системными заголовками Unix).
Существует также Ruby, Perl и модули TCL для этого, Ruby, каждый приезжает с a posix-mq-rb
Инструмент CLI.
$ ipcs -q
предоставит статистику очереди сообщений из командной строки.
$ ipcs -m
предоставит статистику разделяемой памяти из командной строки.
$ ipcs
предоставит всю статистику механизма ipc.