Process supervision is a form of operating system service management in which some master process remains the parent of the service processes.
Benefits compared to traditional process launchers and system boot mechanisms, like System V init, include:
Ability to restart services which have failed
The fact that it does not require the use of "pidfiles"
Clean process state
Reliable logging, because the master process can capture the stdout/stderr of the service process and route it to a log
Faster (concurrent) and ability to start up and stop
daemontools
daemontools-encore: Derived from the public-domain release of daemontools
Eye: A Ruby implementation
Finit: Fast, Extensible Init for Linux Systems
God: A Ruby implementation
Initng
launchd
minit: A small, yet feature-complete Linux init
Monit
runit
Supervisor: A Python implementation
s6: Low-level process and service supervision
Systemd