.gitea/issue_template | ||
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
mqrs.1 | ||
README.md |
mqrs
mqrs
is a small cli application to handle POSIX message queues.
Installation
To build mqrs
a rust toolchain is necessary.
Install Rust
Install the Rust toolchain from rustup.rs.
Build mqrs
mqrs
can be built for development:
cargo b
or for releasing:
cargo b --release
Build the mqrs
Debian package
cargo deb
Install mqrs
When a Rust toolchain installed you can also install mqrs
directly without cloning it manually:
cargo install --git https://git.onders.org/finga/mqrs.git mqrs
or from within the project:
cargo install mqrs
Run mqrs
mqrs
can either be run from the project directory with:
cargo b
or you can copy the produced binary somewhere else or link to them
from target/{debug,release}/mqrs
depending on which
one you built.
Using mqrs
mqrs
supports five commands: create
, info
, unlink
, send
and
recv
. All commands do not have to be specified fully. If the
command is clearly distinguishable from all the others, it does not
have to be completed further.
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-p
,--permissions
: 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.
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"