runit
smarden.org
What it is
runit is a free Unix init scheme that supervises services and can replace sysvinit or other init schemes. It runs on GNU/Linux, BSD systems, MacOSX and Solaris, and can be adapted to other Unix operating systems. As process 1, it manages boot, normal operation and shutdown in three stages. The runsv component launches a service's run program and restarts it if it exits; an optional finish program and log service can also be used. The sv utility reports status and provides controls to start, stop, restart, pause or signal supervised services. For logs, svlogd can filter messages and write automatically rotated logs. The chpst utility changes process state and sets limits for resources such as memory, open files, process count, output size, core size and CPU time. runsvdir can start and monitor runsv processes for up to 1,000 service subdirectories. runit can supervise services alongside an existing init scheme without replacing it. The maker provides source and installation instructions, including manual installation without root access. Its documentation warns that UDP logging is unreliable and should be confined to private networks.
Spec sheet
- What it does
- runit is a Unix init scheme and service supervisor that can replace sysvinit or run alongside another init system.Read 15 Oct 2026 · smarden.org
- Purpose
- runit is a cross-platform Unix init scheme with service supervision and a replacement for sysvinit and other init schemes.Read 2 Oct 2026 · smarden.org
- Support
- The maker directs users to the documentation, FAQ and supervision mailing-list archive for help.Read 15 Oct 2026 · smarden.org
- Automatic discovery
- A symlink from /service to a service directory makes runit discover and start that service, typically within five seconds.Read 15 Oct 2026 · smarden.org
- Boot lifecycle
- As process 1, runit handles booting, normal operation and shutdown in three stages.Read 2 Oct 2026 · smarden.org
- Current upstream version
- The official install page names version 2.3.1 as the downloadable release.Read 15 Oct 2026 · smarden.org
- Debian licence record
- Debian records the upstream runit files as copyright Gerrit Pape and licensed BSD-3-Clause.Read 15 Oct 2026 · sources.debian.org
- Dependency handling
- Many dependencies are handled because a dependent service exits until its prerequisite is available, after which runsv retries it.Read 15 Oct 2026 · smarden.org
- Distribution availability
- The maker lists Debian, FreeBSD, OpenBSD, NetBSD, Ubuntu, Gentoo, Arch Linux, Void Linux and other distributions as including or packaging runit.Read 2 Oct 2026 · smarden.org
- Distribution packaging
- Void Linux packages runit 2.3.1 with a GNU make build and BSD-3-Clause licence metadata.Read 15 Oct 2026 · github.com
- Documentation
- The source distribution includes a doc directory and man directory, while the website links to manuals for each major command.Read 15 Oct 2026 · smarden.org
- Explicit dependencies
- For services needing ordered startup or shutdown, administrators place sv commands in run and finish scripts.Read 15 Oct 2026 · smarden.org
- Foreground requirement
- A supervised daemon must stay in the foreground, with the run script normally using exec to replace the shell.Read 15 Oct 2026 · smarden.org
- Independent adoption
- Wikipedia lists Void Linux, antiX and Dragora as distributions using runit as their default init system.Read 15 Oct 2026 · en.wikipedia.org
- Independent alternatives
- AlternativeTo lists runit as free and open source and shows more than ten alternatives including Dinit, OpenRC, systemd, sysvinit and s6.Read 15 Oct 2026 · alternativeto.net
- Independent architecture detail
- Wikipedia says stage 2 launches runsvdir, which creates a watchdog per service and restarts daemons that die.Read 15 Oct 2026 · en.wikipedia.org
- Independent description
- Wikipedia describes runit as a daemontools reimplementation that initializes, supervises and terminates Unix-like system processes.Read 15 Oct 2026 · en.wikipedia.org
- Installation
- The maker provides a source archive and instructions to compile and install runit, including manual installation without root access.Read 2 Oct 2026 · smarden.org
- Installation method
- The official installation downloads runit-2.3.1.tar.gz, compiles it and installs the programs with package/install.Read 15 Oct 2026 · smarden.org
- Licence
- runit is free software under a three-clause BSD-like licence.Read 15 Oct 2026 · smarden.org
- Limit: migration risk
- The replacement guide advises keeping an alternate boot method and restoring the former init if migration fails.Read 15 Oct 2026 · smarden.org
- Limit: portability work
- Although stage 2 is portable, the maker says stages 1 and 3 must be adapted to each operating system.Read 15 Oct 2026 · smarden.org
- Limit: service authoring
- Using runit requires administrators to create and maintain executable per-service scripts rather than conventional /etc/init.d scripts.Read 15 Oct 2026 · smarden.org
- Log transport limit
- svlogd documentation warns that UDP logging is unreliable and should be used only in private networks.Read 2 Oct 2026 · smarden.org
- Logging
- runsv can supervise a separate logging process and connect the service output to it without requiring both processes to restart together.Read 15 Oct 2026 · smarden.org
- Maker identity
- The official pages identify Gerrit Pape as the project contact and maintainer.Read 15 Oct 2026 · smarden.org
- Manual installation
- A non-root installation can compile and place binaries in a user's own bin directory, with documentation and man pages supplied in the source tree.Read 15 Oct 2026 · smarden.org
- Operating systems
- The maker says runit runs on GNU/Linux, *BSD, MacOSX and Solaris, and can be adapted to other Unix operating systems.Read 2 Oct 2026 · smarden.org
- Optional init replacement
- The maker documents using runit's service supervision alongside a system's current init scheme without replacing it.Read 2 Oct 2026 · smarden.org
- Packaging
- The maker describes stages 1 and 3 as distribution-specific scripts, allowing package systems to adapt them.Read 15 Oct 2026 · smarden.org
- Parallel startup
- After one-time initialization, runit starts services in parallel and also shuts them down in parallel.Read 15 Oct 2026 · smarden.org
- Process control
- The sv command controls services, sends signals and reports service status through runit's supervisor interface.Read 15 Oct 2026 · smarden.org
- Process limits
- The chpst utility can change process state and set limits including memory, open files, process count, output size, core size and CPU time.Read 2 Oct 2026 · smarden.org
- Recent release
- Wikidata records runit 2.3.1 as a stable release dated 7 February 2026.Read 15 Oct 2026 · wikidata.org
- Reliability and size
- The maker says runit is optimized for reliability and small size, with minimal code in process 1.Read 2 Oct 2026 · smarden.org
- Resource controls
- The chpst utility controls process environment, resource limits and user or group privileges.Read 15 Oct 2026 · smarden.org
- Runlevels
- The project provides runsvchdir for switching among directories of service symlinks that act as runlevels.Read 15 Oct 2026 · smarden.org
- Service capacity
- runsvdir starts and monitors runsv processes for up to 1,000 service subdirectories.Read 2 Oct 2026 · smarden.org
- Service control
- The sv program reports service status and supports commands to start, stop, restart, pause and signal supervised services.Read 2 Oct 2026 · smarden.org
- Service directories
- Services are defined by executable run scripts in per-service directories, commonly stored under /etc/sv.Read 15 Oct 2026 · smarden.org
- Service recovery
- runsv starts a service's run program and restarts it if it exits, with an optional finish program and log service.Read 2 Oct 2026 · smarden.org
- Service supervision
- Each service runs under a dedicated runsv supervisor that restarts it when it exits unless configured otherwise.Read 15 Oct 2026 · smarden.org
- Support channel
- The maker directs runit discussion to the supervision mailing list and asks users to contact the list rather than the author privately.Read 2 Oct 2026 · smarden.org
- Supported systems
- The maker lists GNU/Linux, BSD variants, macOS and Solaris, with adaptation possible for other Unix systems.Read 15 Oct 2026 · smarden.org
- svlogd
- The bundled svlogd program is recommended for service logging and supports reliable log handling for supervised services.Read 15 Oct 2026 · smarden.org
- Three-stage init
- When used as PID 1, runit uses stage 1 for boot tasks, stage 2 for ongoing supervision and stage 3 for shutdown or reboot.Read 15 Oct 2026 · smarden.org
Plans and prices
Strong points and limits
Strong points
- Restarts services when their run program exits.
- Supports supervision alongside an existing init scheme.
- Sets limits for several process resources.
- Can monitor up to 1,000 service subdirectories.
Limits
- UDP logging is described as unreliable.
- The maker provides source and compile instructions for installation.
Who it suits
runit suits Unix administrators who need service supervision, process controls and logging, either as an init replacement or alongside an existing init scheme. It also supports manual installation without root access.
Verdict
runit documents its service controls, logging, resource limits and operating-system support. Its UDP logging limitation matters if you plan to use that transport.
Where Specifiction places it
- Process Monitoring Software#5 of 268.2