<?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-off the machine (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>Equivalent to <option>--poweroff</option>,
        unless <option>--halt</option> is specified.</para></listitem>
      </varlistentry>

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

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

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

        <listitem><para>Do not send wall
        message before
        halt, power-off, 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>

    </variablelist>
  </refsect1>

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

    <para>On success, 0 is returned, a non-zero failure code
    otherwise.</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>
