Process supervision
Appearance
This article needs additional citations for verification. (September 2014) |
Process supervision is a form of operating system service management in which some master process remains the parent of the service processes.
Benefits
Benefits[1] 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