runit - a UNIX process no 1
must be run as Unix process no 1. It performs the system's booting,
running, and shutdown in three stages:
and waits for it to terminate. The
system's one time tasks are done here. /etc/runit/1
has full control of
to be able to start an emergency shell if the one time
initialization tasks fail. If /etc/runit/1
crashes, or exits 100,
will skip stage 2 and enter stage 3.
, which should not return until system
shutdown; if it crashes, or exits 111, it will be restarted. Normally
is able to handle
the ctrl-alt-del keyboard request in stage 2, see below.
is told to shutdown the system, or stage 2 returns, it
terminates stage 2 if it is running, and runs /etc/runit/3
. The systems
tasks to shutdown and possibly halt or reboot the system are done here. If
stage 3 returns, runit
checks if the file /run/runit.reboot
exists and has the execute by owner permission set. If so, the system is
rebooted, it's halted otherwise. If /run/runit.nosync
doesn't invoke sync(). This is useful in vservers.
receives the ctrl-alt-del keyboard request and the file
exists and has the execute by owner permission
, waits for it to
terminate, and then sends itself a CONT signal.
only accepts signals in stage 2.
receives a CONT signal and the file /run/runit.stopit
exists and has the execute by owner permission set, runit
is told to
shutdown the system.
receives an INT signal, a ctrl-alt-del keyboard request is
runit-init(8), runsvdir(8), runsvchdir(8), sv(8), runsv(8), chpst(8),
Gerrit Pape <email@example.com>