<?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="shutdown"
    xmlns:xi="http://www.w3.org/2001/XInclude">

  <refentryinfo>
    <title>shutdown</title>
    <productname>systemd</productname>
  </refentryinfo>

  <refmeta>
    <refentrytitle>shutdown</refentrytitle>
    <manvolnum>8</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>shutdown</refname>
    <refpurpose>Halt, power off or reboot the machine</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <cmdsynopsis>
      <command>shutdown</command>
      <arg choice="opt" rep="repeat">OPTIONS</arg>
      <arg choice="opt">TIME</arg>
      <arg choice="opt" rep="repeat">WALL</arg>
    </cmdsynopsis>
  </refsynopsisdiv>

  <refsect1>
    <title>Description</title>

    <para><command>shutdown</command> may be used to halt, power off, or reboot the machine.</para>

    <para>The first argument may be a time string (which is usually
    <literal>now</literal>). Optionally, this may be followed by a
    wall message to be sent to all logged-in users before going
    down.</para>

    <para>The time string may either be in the format
    <literal>hh:mm</literal> for hour/minutes specifying the time to
    execute the shutdown at, specified in 24h clock format.
    Alternatively it may be in the syntax <literal>+m</literal>
    referring to the specified number of minutes m from now.
    <literal>now</literal> is an alias for <literal>+0</literal>, i.e.
    for triggering an immediate shutdown. If no time argument is
    specified, <literal>+1</literal> is implied.</para>

    <para>Note that to specify a wall message you must specify a time
    argument, too.</para>

    <para>If the time argument is used, 5 minutes before the system
    goes down the <filename>/run/nologin</filename> file is created to
    ensure that further logins shall not be allowed.</para>
  </refsect1>

  <refsect1>
    <title>Options</title>

    <para>The following options are understood:</para>

    <variablelist>
      <varlistentry>
        <term><option>--help</option></term>

        <xi:include href="standard-options.xml" xpointer="help-text" />
      </varlistentry>

      <varlistentry>
        <term><option>-H</option></term>
        <term><option>--halt</option></term>

        <listitem><para>Halt the machine.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>-P</option></term>
        <term><option>--poweroff</option></term>

        <listitem><para>Power the machine off (the default).</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>-r</option></term>
        <term><option>--reboot</option></term>

        <listitem><para>Reboot the machine.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>-h</option></term>

        <listitem><para>The same as <option>--poweroff</option>, but does not override the action to take if
        it is "halt". E.g. <command>shutdown --reboot -h</command> means "poweroff", but <command>shutdown
        --halt -h</command> means "halt".</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>-k</option></term>

        <listitem><para>Do not halt, power off, or reboot, but just write the wall message.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>--no-wall</option></term>

        <listitem><para>Do not send wall message before halt, power off, or reboot.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>-c</option></term>

        <listitem><para>Cancel a pending shutdown. This may be used to cancel the effect of an invocation of
        <command>shutdown</command> with a time argument that is not <literal>+0</literal> or
        <literal>now</literal>.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>--show</option></term>

        <listitem><para>Show a pending shutdown action and time if
        there is any.</para></listitem>
      </varlistentry>

    </variablelist>
  </refsect1>

  <refsect1>
    <title>Exit status</title>

    <para>On success, 0 is returned, a non-zero failure code
    otherwise.</para>
  </refsect1>

  <refsect1>
    <title>Compatibility</title>

    <para>The <command> shutdown</command> command in previous init systems (including sysvinit) defaulted to
    single-user mode instead of powering off the machine. To change into single-user mode, use
    <command>systemctl rescue</command> instead.</para>
  </refsect1>

  <refsect1>
    <title>See Also</title>
    <para>
      <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>halt</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
      <citerefentry project='man-pages'><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry>
    </para>
  </refsect1>

</refentry>
