runlevel(7) - phpMan

Command: man perldoc info search(apropos)  

runlevel(7)                                                        runlevel(7)

       runlevel - event signalling change of system runlevel


       This  page  describes the runlevel Upstart event, and the general implementation of
       runlevels in the Upstart system.  For the runlevel tool, see runlevel(8)

   The runlevel event
       The runlevel event signals a change of system runlevel.  The new system runlevel is
       given  in  the RUNLEVEL argument, and the previous system runlevel in the PREVLEVEL
       argument (which may be empty).

       Additional environment may follow these depending on the  runlevel,  and  the  tool
       that emitted the event.  The shutdown(8) tool will supply an INIT_HALT variable set
       to either HALT or POWEROFF when called with -H or -P respectively.

       Runlevels are a concept from UNIX(R) System V used by the  init(8)  daemon  or  other
       system initialisation system to define modes of system operation.

       Eight  runlevels  are permitted, the first seven are numbered 0-6 and the eighth is
       named S or s (both are permitted).

       Services and other system components are said to exist in one  or  more  runlevels.
       When  switching from one runlevel to another, the services that should not exist in
       the new runlevel are stopped and the services that only exist in the  new  runlevel
       are started.

       This is performed by the /etc/init.d/rc script executed on a change of runlevel (by
       jobs run on the runlevel event in the Upstart system).  This script  examines  sym-
       links  in  the  /etc/rc?.d  directories,  symlinks  beginning  K are services to be
       stopped and symlinks beginning S are services to be started.

       The authorative documentation for this process can be found in the System run  lev-
       els  and  init.d scripts section of the Debian Policy Manual. This may be currently
       found at <>

       Runlevels 0, 1 and 6 are reserved.  Runlevel 0 is used to halt the system and 6  to
       reboot  the  system.  Runlevel 1 is used to bring the system back down into single-
       user mode, after which the runlevel will be S.

   System V initialisation in Upstart
       The compatible implementation of runlevels permits Upstart jobs to be  run  on  the
       runlevel event that perform the same functionality as the original System V init(8)

       The /etc/init/rc.conf job is run on the runlevel event, thus receiving the RUNLEVEL
       and PREVLEVEL environment variables.  Its sole job is to execute the /etc/init.d/rc
       script, passing the new runlevel as an argument.

       Initial system startup is provided by the /etc/init/rc-sysinit.conf job.   This  is
       run  on  the  startup(7)  event,  and  is  primarily  responsible  for  running the
       /etc/init.d/rc script with the special S argument and calling telinit(8) to  switch
       into  the  default runlevel when done.  This also handles the -b, emergency, -s and
       single kernel command-line options as well as specifying an alternate  runlevel  on
       the kernel command-line.

       Finally the /etc/init/rcS.conf job handles the special case of entering the single-
       user runlevel and providing a  login  shell.   Once  that  shell  terminates,  this
       restarts the rc-sysinit job to re-enter the default runlevel.

   Implementation of runlevels in Upstart
       The  Upstart init(8) daemon has no native concepts of runlevel, and unlike the Sys-
       tem V daemon, makes no attempt to keep track of the current runlevel.

       Instead a compatible implementation is provided by the runlevel(8), telinit(8)  and
       shutdown(8) tools supplied with Upstart.

       The  telinit(8)  and  shutdown(8) tools are used by system administrators to change
       the runlevel, thus they both generate this runlevel event obtaining the  value  for
       the  PREVLEVEL  environment variable from their own environment (the RUNLEVEL vari-
       able) or the /var/run/utmp file.

       Additionally they update the /var/run/utmp file with the new runlevel, and append a
       log entry to the /var/log/wtmp file.

       The  runlevel(8)  tool  may  be used by system administrators to obtain the current
       runlevel, this reads the RUNLEVEL and PREVLEVEL variables from its own  environment
       or reads the current and previous runlevel from /var/run/utmp.

       The  who(1)  -r  command  may  also  be  used  to  read  the  current runlevel from

       This provides full compatibility with System V.

       During the boot scripts, where the /var/run/utmp file may not yet be writable,  the
       RUNLEVEL  and  PREVLEVEL environment variables will be available so telinit(8) will
       still provide the correct values.

       Once the boot scripts have finished, while the environment variables may no  longer
       be available, the /var/run/utmp file will be and the most recent telinit(8) invoca-
       tion should have successfully written to it.

   Boot time records
       The telinit(8) tool also takes care  of  writing  the  boot  time  record  to  both
       /var/run/utmp and /var/log/wtmp.

       This is written if the previous runlevel in these files does not match the previous
       runlevel obtained from its environment.  In general this occurs when switching from
       runlevel  S  to  the  default  runlevel,  at  which  point  the  /var/run/utmp  and
       /var/log/wtmp files are both writable, and the  telinit(8)  invocation  to  do  the
       switch has RUNLEVEL=S in its environment.

       A service running in the typical multi-user runlevels might use:

              start on runlevel [2345]
              stop on runlevel [!2345]

       runlevel(8) init(8) telinit(8) shutdown(8) who(1)

Upstart                           2009-07-09                       runlevel(7)

Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2017-12-16 01:30 @ CrawledBy CCBot/2.0 (
Valid XHTML 1.0!Valid CSS!