Provided by: runit_2.1.2-48ubuntu1_amd64 bug


       runit - a UNIX process no 1




       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 crashes,  or  exits  100,
       runit will skip stage 2 and enter stage 3.


       runit  runs /etc/runit/2, which should not return until system shutdown; if it crashes, or
       exits 111, 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 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 /etc/runit/nosync exists, runit doesn't invoke
       sync(). This is useful in vservers.


       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 /run/runit.stopit exists and has the  execute
       by owner permission set, runit is told to shutdown the system.

       If runit receives a PWR signal, runit is told to shutdown the system.

       if runit receives an INT signal, a ctrl-alt-del keyboard request is triggered.


       When  the runitdir=name variable is set and runit is init, runit will check if a directory
       named name exists in /etc/runit/runsvdir/ and then  will  use  runsvchdir  to  change  the
       directory of runsvdir to name in place of the default.

       If  runitdir is set to runitdir=solo runit will use the solo directory for runsvdir and it
       will also refrain from start any sysv service that  is  enabled  in  /etc/rc2.d/  This  is
       intended for use with containers that need to start only some selected services.


       runit-init(8),   runsvdir(8),   runsvchdir(8),   sv(8),  runsv(8),  chpst(8),  utmpset(8),


       Gerrit Pape <>