Provided by: upstart_1.12.1-0ubuntu4.2_amd64 bug

NAME

       runlevel - output previous and current runlevel

SYNOPSIS

       runlevel [OPTION]...  [UTMP]

DESCRIPTION

       runlevel  reads  the  system  UTMP file, which defaults to /var/run/utmp when no alternate
       filename is given, to locate the most recent runlevel record.

       The previous and current runlevel from that record are output separated by a single space.
       If there is no previous runlevel in the record, the letter N will be substituted.

       If  no  runlevel  record can be found, runlevel outputs the word unknown and exits with an
       error.

       During system boot, the environment variables RUNLEVEL and PREVLEVEL will be  set  by  the
       init(8)  daemon,  these  come  from  the  runlevel(7)  event  generated  by  telinit(8) or
       shutdown(8).

       When these environment variables are set, runlevel  will  output  the  values  from  these
       instead.  Thus runlevel can be used in rc scripts as a replacement for the System-V who(1)
       -r command.

OPTIONS

       --quiet
              Does not output the current and previous runlevel, nor does it  output  unknown  in
              the case of error (but it will exit with an error code).

              This  may  be  used  to  test for the presence of a runlevel entry, or to check for
              errors reading from the file.

EXIT STATUS

       runlevel will exit with status 0 if a UTMP record was found, otherwise it will  exit  with
       status 1.

ENVIRONMENT

       RUNLEVEL
              runlevel  will  read  the current runlevel from this environment variable if set in
              preference to reading from /var/run/utmp

       PREVLEVEL
              runlevel will read the previous runlevel from this environment variable if RUNLEVEL
               was given, in preference to reading from /var/run/utmp

FILES

       /var/run/utmp
              Where the current and previous runlevels will be read from.

NOTES

       The Upstart init(8) daemon does not keep track  of  runlevels  itself,  instead  they  are
       implemented entirely by its userspace tools.

       A  change  of  runlevel  is  signalled  by  the runlevel(7) event, generated by either the
       telinit(8) or shutdown(8) tools.  This event includes the new  runlevel  in  the  RUNLEVEL
       environment  variable,  as  well  as  the  previous  runlevel  (obtained  from  their  own
       environment or from /var/run/utmp) in the PREVLEVEL variable.

       As well as generating the event, both tools write the new runlevel back  to  /var/run/utmp
       and append a new entry to /var/log/wtmp.

AUTHOR

       Written by Scott James Remnant <scott@netsplit.com>

REPORTING BUGS

       Report bugs at <https://launchpad.net/upstart/+bugs>

COPYRIGHT

       Copyright © 2009 Canonical Ltd.
       This  is  free software; see the source for copying conditions.  There is NO warranty; not
       even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

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