Home

Runit

Runit is a small, cross‑platform init scheme and service supervisor for Unix‑like operating systems. It aims to be simple, fast, and reliable, providing robust process supervision with a minimal footprint and limited configuration.

Runit consists of a few core programs and a lightweight workflow. The supervisor runs as PID 1

Defining and managing a service is straightforward. Create a directory /service/name with a runnable /service/name/run that

Runit is designed for portability and is used as the default init system in several distributions, including

See also: relation to other init and supervision systems, such as daemontools, and its role as an

in
an
init
role
or
can
be
used
as
a
supervising
daemon
in
other
contexts.
The
main
tools
are
runsvdir,
which
supervises
all
services,
and
runsv,
which
supervises
an
individual
service.
Helper
utilities
such
as
chpst
are
included
to
set
users,
environments,
and
chroots
for
supervised
processes.
Services
are
defined
by
directories,
commonly
under
/service,
each
containing
a
run
script
that
starts
the
service.
If
a
service
has
logging,
it
can
include
a
log
directory
with
its
own
run
script,
and
runit
will
start
a
separate
logger
process
for
that
service.
launches
the
service.
Optional
logging
is
configured
by
providing
/service/name/log/run.
The
supervisor
starts
runsv
for
each
service
and
will
automatically
restart
a
service
if
it
exits
unexpectedly.
Control
utilities
such
as
sv
allow
administrators
to
start,
stop,
restart,
or
query
the
status
of
services.
Void
Linux,
among
others.
It
emphasizes
predictable
boot
times,
parallel
startup,
clean
shutdown,
and
a
compact
codebase.
Licensing
is
under
a
BSD-style
license.
alternative
to
more
feature-rich
init
systems.