mqrs/README.md

85 lines
3.1 KiB
Markdown
Raw Permalink Normal View History

2021-06-20 17:12:05 +02:00
# mqrs
2021-07-08 14:14:25 +02:00
`mqrs` is a small cli application to handle different kinds of message
queues.
2021-06-20 17:12:05 +02:00
## Install `mqrs`
For information about how to build, install and run `mqrs` please see
[`INSTALL.md`](INSTALL.md).
2021-06-20 17:12:05 +02:00
## Using `mqrs`
Depending on which backend you want to use there are different subsets
of subcommands. Following backends are supported:
2021-07-08 14:14:25 +02:00
- `posix`: Use POSIX message queues
- `sysv`: 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`)
2021-06-27 02:56:31 +02:00
- `-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