Program for daemonising and monitoring processes under OpenRC etc.
Go to file
Laurence Withers 67f0ab405a Remember that execve()'s argv[0] is the program name 2008-07-26 17:28:18 +00:00
scripts Import skeleton of daemonitor 2008-07-26 14:45:31 +00:00
src/daemonitor Remember that execve()'s argv[0] is the program name 2008-07-26 17:28:18 +00:00
.gitignore Import skeleton of daemonitor 2008-07-26 14:45:31 +00:00
COPYING Import skeleton of daemonitor 2008-07-26 14:45:31 +00:00
README Import skeleton of daemonitor 2008-07-26 14:45:31 +00:00
config Add basic daemonitor build framework and logging infrastructure 2008-07-26 15:19:13 +00:00
make.sh Import skeleton of daemonitor 2008-07-26 14:45:31 +00:00
run-test.sh Import skeleton of daemonitor 2008-07-26 14:45:31 +00:00
version Import skeleton of daemonitor 2008-07-26 14:45:31 +00:00

README

daemonitor
==============================================================================
(c)2007, Laurence Withers, <l@lwithers.me.uk>.
Released under the GNU GPLv3. See file COPYING or 
http://www.gnu.org/copyleft/gpl.html for details.

Really Quick Instructions
-------------------------

To build: ./make.sh
To install: ./make.sh install

You might want to edit 'config' first. You might also want to set
'INSTALL_PREFIX', which is prepended onto the destination of any installed
file.

Introduction
------------

Daemonitor is a daemon which starts and monitors a child process. It is
intended to be used with foreground child processes (e.g. daemons with a
foreground mode, or long-running processes which are always in the
foreground). Taken together, the daemonitor instance and its child process
represent a "standard" UNIX daemon process (i.e. backgrounded, PID file,
etc.).

The true purpose of daemonitor is to provide a robust way of monitoring
services under e.g. openrc, which provides a mechanism for starting, stopping
and querying services but does not have any automatic monitoring of its own.
Thus if a daemon or service crashes, this will not be recorded or addressed
by the system.

Daemonitor is a very small daemon which itself never exits. Its simple design
and single purpose should ensure that it is robust against various conditions
that may arise in the system (out of disk space, out of memory, ...), and
that it is unlikely to crash due to bugs. The process it monitors can then
crash or exit or be killed and daemonitor will detect this and restart it.

Instructions
------------

TODO