Process supervision is a type of operating system service management in which some master process remains the parent of the service processes.
Benefits 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
Implementations 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 immortal: A Go implementation PM2: A Process Manager for Node.js Initng launchd minit: A small, yet feature-complete Linux init Monit runit Supervisor: A Python implementation s6: Low-level process and service supervision Systemd
References
