Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

runit

From Wikipedia, the free encyclopedia
Init scheme and service supervisor for UNIX-like systems
This article is about a piece of software. For Runit Island, part of the Marshall Islands, seeEnewetak Atoll.
runit
Original author(s)Gerrit Pape
Initial releaseFebruary 10, 2004; 21 years ago (2004-02-10)[1]
Stable release
2.2.0 / September 29, 2024; 5 months ago (2024-09-29)[2]
Written inC,Shell
Operating systemLinux,FreeBSD,OpenBSD,NetBSD,macOS,Solaris
TypeInitdaemon
LicenseNew BSD License
Websitesmarden.org/runit/ Edit this on Wikidata

runit is an init and service management scheme forUnix-likeOperating systems that initializes,supervises, and endsprocesses throughout the operating system. Runit is a reimplementation of thedaemontools[3] process supervision toolkit that runs on manyLinux-based operating systems, as well asBSD, andSolaris 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 aninitdaemon, Runit is the direct or indirectancestor of all other processes. It is the firstprocess started duringbooting, and continues running until the system is shut down. It is often used with other init systems as a separate service manager. In the service manager role, it can be used by unprivileged users to orchestrate personal services, as well as byroot to manage services not otherwise managed by the init system currently in use.

Runit bootingVoid Linux

Design

[edit]

Runit focuses on being a small, modular, andportablecodebase. In the init role, Runit is split into three stages: one time initialization, process supervision, and halting or rebooting. While the first and third stages must be adapted to the specific operating system they are running on, the second stage is portable across allPOSIX compliant operating systems.[4]The 3 stages can be configured through 3 executable files (they are usually shell scripts) named, respectively, 1, 2, and 3.

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 individualwatchdog, 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, andnamed pipes are created to exposeinterfaces to control the daemon.

Usage

[edit]

Runit can be used either as a drop-in replacement[5] forsysvinit, or as a service supervisor (with sysvinit as the parentPID 1 process which runs processes specified by the inittab file, or some other init system).[6] The RubyWorks stack of software able to runRuby on Rails incorporated Runit into its suite.[7]

Adoption

[edit]

Runit is the default init system of:

Runit is an "officially" available init system for:

References

[edit]
  1. ^Pape, Gerrit (2004-02-10)."runit-1.0.0 release".gmane.comp.sysutils.supervision.general (Mailing list). Archived fromthe original on 2013-12-13. Retrieved2013-12-10.
  2. ^Pape, Gerrit (2024-09-29)."runit-2.2.0 available".www.mail-archive.com. Retrieved2024-10-03.
  3. ^Purcell, Steve (2007-11-11)."Init Scripts Considered Harmful".sanityinc.com. Retrieved12 December 2013.
  4. ^abPape, Gerrit."runit - benefits". Retrieved23 April 2013.
  5. ^Pape, Gerrit."replacing init". Retrieved11 August 2014.
  6. ^Pape, Gerrit."use with traditional init". Retrieved11 August 2014.
  7. ^"Process management with runit".rubyworks.rubyforge.org. Retrieved14 April 2014.
  8. ^"VoidLinux". Retrieved28 June 2020.
  9. ^"Gentoo". Retrieved28 April 2024.

External links

[edit]
Portable implementations
Operating-system-specific
Process supervision tools


Stub icon

ThisUnix-related article is astub. You can help Wikipedia byexpanding it.

Retrieved from "https://en.wikipedia.org/w/index.php?title=Runit&oldid=1276564219"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp