.cargo | ||
.gitea/issue_template | ||
src | ||
sysvmq | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
CHANGELOG.md | ||
INSTALL.md | ||
mqrs.1 | ||
README.md |
mqrs
mqrs
is a small cli application to handle different kinds of message
queues.
Install mqrs
For information about how to build, install and run mqrs
please see
INSTALL.md
.
Using mqrs
Depending on which backend you want to use there are different subsets of subcommands. Following backends are supported:
posix
: Use POSIX message queuessysv
: Use SysV IPC message queues
If a command is clearly distinguishable from all the others, it does not have to be completed further.
POSIX message queues
The POSIX backend supports six commands: create
, info
, list
,
unlink
, send
and recv
.
Create a message queue
Use the create
command to create a new POSIX message queue. Following
optional arguments are supported:
-c
,--capacity
: Maximum number of messages in the queue-m
,--mode
: Permissions (octal) to create the queue with-s
,--msgsize
: Message size in bytes
Print information about a message queue
Use the info
command to print further information about a message
queue.
List all message queues
Use the list
command to print a list of all message
queues. Following option argument is supported:
-a
,--all
: Print all available information
Delete a message queue
Use the unlink
command to delete a message queue.
Send a message to a queue
Use the send
command to send a message to a message queue. Following
optional arguments are supported:
-n
,--non-blocking
: Do not block-d
,--deadline <deadline>
: Deadline until messages are sent (format:%Y-%m-%d %H:%M:%S
)-p
,--priority <priority>
: Set a different priority than default, priority >= 0 [default: 0]-o
,--timeout <timeout>
: As for example in "5h 23min 42ms"
Receive a message from a queue
Use the recv
command to receive one or more messages from a message
queue. Following optional arguments are supported:
-f
,--follow
: Print messages as they are received-n
,--non-blocking
: Do not block-t
,--timestamp
: Print a timestamp before each message-d
,--deadline <deadline>
: Deadline until messages are received (format:%Y-%m-%d %H:%M:%S
)-o,
--timeout <timeout>
: As for example in "5h 23min 42ms"
SysV IPC message queues
The SysV IPC backend supports two commands: create
and unlink
.
Create a message queue
Use the create
command to create a new SysV IPC message
queue. Following optional arguments are supported:
-m
,--mode
: Permissions (octal) to create the queue with. Default: 0644.
Print information about a message queue
Use the info
command to print further information about a message
queue. Exactly of the following arguments is mandatory:
-i
,--id id
: Id of the queue-k
,--key key
: Key of the queue
List all message queues
Use the list
command to print a list of all message queues. No
further arguments are supported.
Delete a message queue
Use the unlink
command to delete a message queue. This can either be
done by providing a key
or an id
of the queue:
-i
,--id <id>
: Id of the queue-k
,--key <key>
: Key of the queue