"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
│Runlevel │ Target │
│0 │ poweroff.target │
│1 │ rescue.target │
│2, 3, 4 │ multi-user.target │
│5 │ graphical.target │
│6 │ reboot.target │
runlevel prints the previous and current SysV runlevel if they are
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.
This page is part of the systemd (systemd system and service manager)
project. Information about the project can be found at
⟨http://www.freedesktop.org/wiki/Software/systemd⟩. If you have a bug
report for this manual page, see
page was obtained from the project's upstream Git repository
⟨https://github.com/systemd/systemd.git⟩ on 2016-07-16. If you dis‐
cover any rendering problems in this HTML version of the page, or you
believe there is a better or more up-to-date source for the page, or
you have corrections or improvements to the information in this
COLOPHON (which is not part of the original manual page), send a mail
systemd 230 RUNLEVEL(8)