mirror of
https://github.com/systemd/systemd.git
synced 2024-11-27 20:23:36 +08:00
163 lines
4.8 KiB
XML
163 lines
4.8 KiB
XML
<?xml version='1.0'?> <!--*-nxml-*-->
|
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
|
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
|
|
|
|
<refentry id="runlevel" conditional='HAVE_SYSV_COMPAT'
|
|
xmlns:xi="http://www.w3.org/2001/XInclude">
|
|
|
|
<refentryinfo>
|
|
<title>runlevel</title>
|
|
<productname>systemd</productname>
|
|
</refentryinfo>
|
|
|
|
<refmeta>
|
|
<refentrytitle>runlevel</refentrytitle>
|
|
<manvolnum>8</manvolnum>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>runlevel</refname>
|
|
<refpurpose>Print previous and current SysV runlevel</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<cmdsynopsis>
|
|
<command>runlevel</command>
|
|
<arg choice="opt" rep="repeat">options</arg>
|
|
</cmdsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1>
|
|
<title>Overview</title>
|
|
|
|
<para>"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
|
|
<command>runlevel</command>. 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.</para>
|
|
|
|
<table>
|
|
<title>Mapping between runlevels and systemd targets</title>
|
|
<tgroup cols='2' align='left' colsep='1' rowsep='1'>
|
|
<colspec colname="runlevel" />
|
|
<colspec colname="target" />
|
|
<thead>
|
|
<row>
|
|
<entry>Runlevel</entry>
|
|
<entry>Target</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>0</entry>
|
|
<entry><filename>poweroff.target</filename></entry>
|
|
</row>
|
|
<row>
|
|
<entry>1</entry>
|
|
<entry><filename>rescue.target</filename></entry>
|
|
</row>
|
|
<row>
|
|
<entry>2, 3, 4</entry>
|
|
<entry><filename>multi-user.target</filename></entry>
|
|
</row>
|
|
<row>
|
|
<entry>5</entry>
|
|
<entry><filename>graphical.target</filename></entry>
|
|
</row>
|
|
<row>
|
|
<entry>6</entry>
|
|
<entry><filename>reboot.target</filename></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Description</title>
|
|
|
|
<para><command>runlevel</command> prints the previous and current
|
|
SysV runlevel if they are known.</para>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>Unless overridden in the environment, this will check the
|
|
utmp database for recent runlevel changes.</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Options</title>
|
|
|
|
<para>The following option is understood:</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><option>--help</option></term>
|
|
|
|
<xi:include href="standard-options.xml" xpointer="help-text" />
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Exit status</title>
|
|
|
|
<para>If one or both runlevels could be determined, 0 is returned,
|
|
a non-zero failure code otherwise.</para>
|
|
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Environment</title>
|
|
|
|
<variablelist class='environment-variables'>
|
|
<varlistentry>
|
|
<term><varname>$RUNLEVEL</varname></term>
|
|
|
|
<listitem><para>If <varname>$RUNLEVEL</varname> is set,
|
|
<command>runlevel</command> will print this value as current
|
|
runlevel and ignore utmp.</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>$PREVLEVEL</varname></term>
|
|
|
|
<listitem><para>If <varname>$PREVLEVEL</varname> is set,
|
|
<command>runlevel</command> will print this value as previous
|
|
runlevel and ignore utmp.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Files</title>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><filename>/run/utmp</filename></term>
|
|
|
|
<listitem><para>The utmp database <command>runlevel</command> reads the previous and current runlevel
|
|
from.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>See Also</title>
|
|
<para>
|
|
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
|
</para>
|
|
</refsect1>
|
|
</refentry>
|