Unix/Linux Go Back    


Linux 2.6 - man page for runlevel (linux section 7)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


runlevel(7)									      runlevel(7)

NAME
       runlevel - event signalling change of system runlevel

SYNOPSIS
       runlevel RUNLEVEL=RUNLEVEL PREVLEVEL=PREVLEVEL [ENV]...

DESCRIPTION
       This  page  describes  the  runlevel Upstart event, and the general implementation of run-
       levels 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 emit-
       ted  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
       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 run-
       level 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 symlinks 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 levels and
       init.d scripts section of the Debian  Policy  Manual.  This  may  be  currently	found  at
       <http://www.debian.org/doc/debian-policy/ch-opersys.html#s-sysvinit>

       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) daemon.

       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	System	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 shut-
       down(8) tools supplied with Upstart.

       The telinit(8) and shutdown(8) tools are used by system administrators to change the  run-
       level,  thus  they both generate this runlevel event obtaining the value for the PREVLEVEL
       environment  variable  from  their  own	environment  (the  RUNLEVEL  variable)	 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 cur-
       rent and previous runlevel from /var/run/utmp.

       The who(1) -r command may also be used to read the current runlevel from /var/run/utmp.

       This provides full compatibility with System V.

       During the boot scripts, where the /var/run/utmp file may not yet be  writable,	the  RUN-
       LEVEL  and PREVLEVEL environment variables will be available so telinit(8) will still pro-
       vide 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) invocation 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 run-
       level 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  envi-
       ronment.

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

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

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

Upstart 				    2009-07-09				      runlevel(7)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 01:21 AM.