Print previous and current SysV runlevel


' runlevel 'u runlevel [options...]


"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 .

1 an-trap an-no-space-flag 1 an-break-flag 1
Table 1. Mapping between runlevels and systemd targets allbox 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}


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 .


The following option is understood:

--help Print a short help text and exit .


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


$RUNLEVEL If $RUNLEVEL is set, runlevel will print this value as current runlevel and ignore utmp .

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


/run/utmp The utmp database runlevel reads the previous and current runlevel from .


systemd(1),, systemctl(1)

Copied to clipboard