daemon-manager - Allow users to setup and control daemons


daemon-manager [-h | --help] [-c | --config=<config-file>] [-v | --verbose] [-f | --foreground] [-d | --debug]


daemon-manager allows users to create and control their own background processes (daemons). It allows these daemons to run as different users as specifed by daemon.conf(5) and permitted by daemon-manager.conf(5).

Once a daemon is running, daemon-manager will respawn it if it ever quits. If the daemon is quitting and respawning too quickly then daemon-manager will start delaying before respawning it. This delay is called the cooldown time and is used to prevent heavy CPU usage when daemons with severe problems quit the instant they are started.


When it starts up, daemon-manager looks in "~/.daemon-manager/daemons" for *.conf files that describe each daemon. For more information on the format of the daemon config files please see daemon.conf(5). Once you have created a daemon you can issue the ‘rescan’ command to dmctl(1) which will cause daemon-manager to rescan all the daemon config directories looking for new .conf files.


To start, stop, and inspect daemons, use the dmctl(1) program.


The daemon-manager process by default sends log messages to syslog using the "daemon" facility. It only logs messages of "Notice" priority or higher unless the -v option has been specified (see below).

If the daemons have been configured with the ‘output’ option set to ‘log’ then their stdout and stderr will be redirected to a log file in "~/.daemon-manager/logs/<daemon>.log" where <daemon> is the basename of the .conf file.


This section describes the command line options for daemon-manager master process itself.


This option causes daemon-manager to print a quick usage line and then quit.

-c <config-file>

Use this option to specify a non-standard path for the daemon-manager.conf(5) file, instead of the default "/etc/daemon-manager/daemon-manager.conf" location.

Regardless of where it is, the file must be owned by root and it must not be world writable.


Increase the logging verbosity. This option can be specified 2 times to produce even more verbose output. The first time it will start outputting syslog "Info" priority messages and the second time will add "Debug" priority messages.


By default daemon-manager will detach and run in the background, returning control to the shell when launched. Use this option to disable this feature and keep daemon-manager running in the foreground.


This option causes daemon-manager to log to stderr instead of syslog. As a side effect, daemons with their output option set to discard will also have their stderr and stdout streams output.

This option implies --foreground.


dmctl(1), daemon-manager.conf(5), daemon.conf(5)

Last Modified on: Feb 10, 2023 05:48am