G. Pape
runit
runit - a UNIX process no 1
runit
runit must be run
as Unix process no 1. It performs the system's booting, running, and shutdown
in three Stages:
runit runs /etc/runit/1 and waits for it to terminate.
The system's one time tasks are done here. /etc/runit/1 has full control
of /dev/console to be able to start an emergency shell if the one time
initialization tasks fail. If /etc/runit/1 itself crashes, runit will skip
stage 2 and enter stage 3.
runit runs /etc/runit/2, which should
not return until system shutdown; if it crashes, it will be restarted. Normally
/etc/runit/2 starts runsvdir(8). runit is able to handle the ctrl-alt-del
keyboard request in Stage 2, see below.
If runit is told to shutdown
the system, or the Stage 2 returns without errors, it terminates Stage
2 if it is running, and runs /etc/runit/3. The systems tasks to shutdown
and halt or reboot are done here. If Stage 3 returns, runit checks if the
file /etc/runit/reboot exists and has the execute by owner permission set.
If so, the system is rebooted, it's halted otherwise.
If runit
receives the ctrl-alt-del keyboard request and the file /etc/runit/ctrlaltdel
exists and has the execute by owner permission set, runit runs /etc/runit/ctrlaltdel,
waits for it to terminate, and then sends itself a CONT signal.
runit
only accepts signals in Stage 2.
If runit receives a CONT signal and the
file /etc/runit/stopit exists and has the execute by owner permission set,
runit is told to shutdown the system.
if runit receives an INT signal, a
ctrl-alt-del keyboard request is triggered.
runit-init(8), runsvdir(8),
runsv(8), svwaitdown(8), svwaitup(8), utmpset(8)
http://smarden.org/runit/
Gerrit Pape <pape@smarden.org>
Table of Contents