runit
Original author(s) | Gerrit Pape |
---|---|
Initial release | February 10, 2004[1] |
Stable release | 2.1.2
/ August 10, 2014[2] |
Written in | New BSD License |
Website | smarden |
runit is an init and service management scheme for Unix-like operating systems that initializes, supervises, and ends processes throughout the operating system. Runit is a reimplementation of the daemontools[3] process supervision toolkit that runs on many Linux-based operating systems, as well as BSD, and Solaris operating systems. Runit features parallelization of the start up of system services, which can speed up the boot time of the operating system.[4]
When running as an
Design
Runit focuses on being a small, modular, and
Stage 2 usually invokes a binary named runsvdir, which is the process responsible for global daemon management: for every daemon it finds in a folder passed to it by argument, it then spawns an individual watchdog, each of those starts a daemon (and a logger service eventually associated to it) and restarts it if it dies. In case a daemon is added or removed, it kills the watchdog or starts a new one. Executable files with specific names are used to describe the various phases of the daemon's life (run, check, finish, ...), it can intercept signals sent and run by specific scripts if they exist, and named pipes are created to expose interfaces to control the daemon.
Usage
Runit can be used either as a drop-in replacement
Adoption
Runit is the default init system of:
- antiX (Debian based, since version 19)
- Dragora GNU/Linux-Libre (since Dragora 2)
- Void Linux[9]
Runit is an "officially" available init system for:
- Artix Linux (Arch based)
- Devuan (Debian based, since version 3.1.0)
- Gentoo Linux[10]
- Hyperbola GNU/Linux-libre (Arch and Debian based)
References
- ^ Pape, Gerrit (2004-02-10). "runit-1.0.0 release". gmane.comp.sysutils.supervision.general (Mailing list). Archived from the original on 2013-12-13. Retrieved 2013-12-10.
- ^ Pape, Gerrit (2009-10-04). "runit - installation". smarden.org. Retrieved 2014-08-10.
- ^ Purcell, Steve (2007-11-11). "Init Scripts Considered Harmful". sanityinc.com. Retrieved 12 December 2013.
- ^ Pape, Gerrit. "runit - benefits". Retrieved 23 April 2013.
- ^ Pape, Gerrit. "runit - benefits". Retrieved 23 April 2013.
- ^ Pape, Gerrit. "replacing init". Retrieved 11 August 2014.
- ^ Pape, Gerrit. "use with traditional init". Retrieved 11 August 2014.
- ^ "Process management with runit". rubyworks.rubyforge.org. Retrieved 14 April 2014.
- ^ "VoidLinux". Retrieved 28 June 2020.
- ^ "Gentoo". Retrieved 28 April 2024.
External links