GNUNET-ARM(1)

NAME
gnunet-arm - control GNUnet services

SYNOPSIS
gnunet-arm [-c FILENAME | --config=FILENAME] [-d | --delete] [-e | --end] [-E | --no-stderr] [-h | --help] [-i SERVICE | --init=SERVICE] [-I | --info] [-k SERVICE | --kill=SERVICE] [-l FILENAME | --logfile=FILENAME] [-L LOGLEVEL | --loglevel=LOGLEVEL] [-m | --monitor] [-O | --no-stdout] [-q | --quiet] [-r | --restart] [-s | --start] [-T -DELAY | --timeout=TIMEOUT] [-v | --version]

DESCRIPTION
gnunet-arm can be used to start or stop GNUnet services, including the ARM service itself. The ARM service is a supervisor for GNUnet's service processes. ARM starts services on-demand or as configured and restarts them if they crash.

-c FILENAME | --config=FILENAME
    Use the configuration file FILENAME.

-d | --delete
    Delete configuration file and directory on exit.

-e | --end
    Shutdown all GNUnet services (including ARM itself). Running "gnunet-arm -e" is the usual way to shutdown a GNUnet peer.

-E | --no-stderr
    Don't let gnunet-arm inherit stderr (standard error).

-h | --help
    Print short help on options.

-i SERVICE | --init=SERVICE
    Starts the specified SERVICE if it is not already running. More specifically, this makes the service behave as if it were in the default services list.

-I | --info
    List all running services.

-k SERVICE | --kill=SERVICE
    Stop SERVICE if it is running. While this will kill the service right now, the service may be restarted immediately if other services depend on it (the service is then started 'on-demand'). If the service used to be a 'default' service, its default-service status will be revoked. If the service was not a default service, it will just be (temporarily) stopped, but could be re-started on-demand at any time.

-l FILENAME | --logfile=FILENAME
    Write logs to FILENAME.

-L LOGLEVEL | --loglevel=LOGLEVEL
    Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and ERROR.

-m | --monitor
    Monitor service activity of ARM. In this mode, the command will not terminate until the user presses CTRL-C (thus sending SIGTERM or SIGINT).

-O | --no-stdout
    Don't let gnunet-arm inherit standard output

-q | --quiet
    Don't print status messages.

-r | --restart
    Stop and start all GNUnet default services. If the peer is not running, the services are simply started.

-s | --start
    Start all GNUnet default services on this system (and also ARM). Naturally, if a service is demanded by a default service, it will then also be started. Running "gnunet-arm -s" is the usual way to start a GNUnet peer.

-T -DELAY | --timeout=DELAY
    Exit with error status if operation does not finish after DELAY, provided in number of microseconds.

-v | --version
    Print GNUnet version number.

EXIT STATUS

0   The requested operations were performed successfully.

1   An error occurred, for example the command line was malformed.

2   The operation did not finish within the timeout given with -T.

3   Communication with the ARM service failed.

4   An operation requiring a running ARM service was requested (-I, -i, -k) while the ARM service is not running.

EXAMPLES
Start the gnunet-arm for the user:

    gnunet-arm -s

Stop the gnunet-arm for the user:

    $ gnunet-arm -e

SEE ALSO
gnunet-config(1), gnunet-setup(1)

The full documentation for gnunet is maintained as a Texinfo manual. If the info(1) and gnunet programs are properly installed at your site, the command

    info gnunet

should give you access to the complete handbook,

    info gnunet-c-tutorial

will give you access to a tutorial for developers.

Depending on your installation, this information is also available in gnunet(7) and gnunet-c-tutorial(7).

BUGS
Report bugs by using https://bugs.gnunet.org or by sending electronic mail to <gnunet-developers@gnu.org>.