Process supervision
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
 
References
    
    
    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.