RUNLEVEL(8)                                           RUNLEVEL(8)

     NAME
          runlevel - Print previous and current SysV runlevel

     SYNOPSIS
          runlevel [options...]

     OVERVIEW
          "Runlevels" are an obsolete way to start and stop groups of
          services used in SysV init. systemd provides a compatibility
          layer that maps runlevels to targets, and associated
          binaries like runlevel. Nevertheless, only one runlevel can
          be "active" at a given time, while systemd can activate
          multiple targets concurrently, so the mapping to runlevels
          is confusing and only approximate. Runlevels should not be
          used in new code, and are mostly useful as a shorthand way
          to refer the matching systemd targets in kernel boot
          parameters.

          Table 1. Mapping between runlevels and systemd targets all-
          box tab(:); lB lB.  T{ Runlevel T}:T{ Target T} l l l l l l
          l l l l.  T{ 0 T}:T{ poweroff.target T} T{ 1 T}:T{
          rescue.target T} T{ 2, 3, 4 T}:T{ multi-user.target T} T{ 5
          T}:T{ graphical.target T} T{ 6 T}:T{ reboot.target T}

     DESCRIPTION
          runlevel prints the previous and current SysV runlevel if
          they are known.

          The two runlevel characters are separated by a single space
          character. If a runlevel cannot be determined, N is printed
          instead. If neither can be determined, the word "unknown" is
          printed.

          Unless overridden in the environment, this will check the
          utmp database for recent runlevel changes.

     OPTIONS
          The following option is understood:

          --help
              Print a short help text and exit.

     EXIT STATUS
          If one or both runlevels could be determined, 0 is returned,
          a non-zero failure code otherwise.

     ENVIRONMENT
          $RUNLEVEL
              If $RUNLEVEL is set, runlevel will print this value as

     Page 1                     systemd 247          (printed 5/23/22)

     RUNLEVEL(8)                                           RUNLEVEL(8)

              current runlevel and ignore utmp.

          $PREVLEVEL
              If $PREVLEVEL is set, runlevel will print this value as
              previous runlevel and ignore utmp.

     FILES
          /run/utmp
              The utmp database runlevel reads the previous and cur-
              rent runlevel from.

     SEE ALSO
          systemd(1), systemd.target(5), systemctl(1)

     Page 2                     systemd 247          (printed 5/23/22)