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

  <refentryinfo>
    <title>halt</title>
    <productname>systemd</productname>
  </refentryinfo>

  <refmeta>
    <refentrytitle>halt</refentrytitle>
    <manvolnum>8</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>halt</refname>
    <refname>poweroff</refname>
    <refname>reboot</refname>
    <refpurpose>Halt, power-off or reboot the machine</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <cmdsynopsis>
      <command>halt</command>
      <arg choice="opt" rep="repeat">OPTIONS</arg>
    </cmdsynopsis>
    <cmdsynopsis>
      <command>poweroff</command>
      <arg choice="opt" rep="repeat">OPTIONS</arg>
    </cmdsynopsis>
    <cmdsynopsis>
      <command>reboot</command>
      <arg choice="opt" rep="repeat">OPTIONS</arg>
    </cmdsynopsis>
  </refsynopsisdiv>

  <refsect1>
    <title>Description</title>

    <para><command>halt</command>, <command>poweroff</command>, <command>reboot</command> may be used to
    halt, power-off, or reboot the machine. All three commands take the same options.</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>--halt</option></term>

        <listitem><para>Halt the machine, regardless of which one of
        the three commands is invoked.</para></listitem>
      </varlistentry>

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

        <listitem><para>Power-off the machine, regardless of which one
        of the three commands is invoked.</para></listitem>
      </varlistentry>

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

        <listitem><para>Reboot the machine, regardless of which one of
        the three commands is invoked.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>-f</option></term>
        <term><option>--force</option></term>

        <listitem><para>Force immediate halt, power-off, or reboot. When
        specified once, this results in an immediate but clean shutdown
        by the system manager. When specified twice, this results in an
        immediate shutdown without contacting the system manager. See the
        description of <option>--force</option> in
        <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
        for more details.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>-w</option></term>
        <term><option>--wtmp-only</option></term>

        <listitem><para>Only write wtmp shutdown entry, do not
        actually halt, power-off, reboot.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>-d</option></term>
        <term><option>--no-wtmp</option></term>

        <listitem><para>Do not write wtmp shutdown
        entry.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>-n</option></term>
        <term><option>--no-sync</option></term>

        <listitem><para>Don't sync hard disks/storage media before
        halt, power-off, reboot.</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>
    </variablelist>
  </refsect1>

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

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

  <refsect1>
    <title>Notes</title>

    <para>These commands are implemented in a way that preserves basic compatibility with the original SysV
    commands.  <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
    verbs <command>halt</command>, <command>poweroff</command>, <command>reboot</command> provide the same
    functionality with some additional features.</para>

    <para>Note that on many SysV systems <command>halt</command> used to be synonymous to
    <command>poweroff</command>, i.e. both commands would equally result in powering the machine off. systemd
    is more accurate here, and <command>halt</command> results in halting the machine only (leaving power
    on), and <command>poweroff</command> is required to actually power it off.</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>shutdown</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
      <citerefentry project='man-pages'><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry>
    </para>
  </refsect1>

</refentry>
