<?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="systemd-poweroff.service">

  <refentryinfo>
    <title>systemd-poweroff.service</title>
    <productname>systemd</productname>
  </refentryinfo>

  <refmeta>
    <refentrytitle>systemd-poweroff.service</refentrytitle>
    <manvolnum>8</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>systemd-poweroff.service</refname>
    <refname>systemd-halt.service</refname>
    <refname>systemd-reboot.service</refname>
    <refname>systemd-kexec.service</refname>
    <refname>systemd-shutdown</refname>
    <refpurpose>System shutdown logic</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <para><filename>systemd-poweroff.service</filename></para>
    <para><filename>systemd-halt.service</filename></para>
    <para><filename>systemd-reboot.service</filename></para>
    <para><filename>systemd-kexec.service</filename></para>
    <para><filename>/usr/lib/systemd/systemd-shutdown</filename></para>
    <para><filename>/usr/lib/systemd/system-shutdown/</filename></para>
  </refsynopsisdiv>

  <refsect1>
    <title>Description</title>

    <para><filename>systemd-poweroff.service</filename> is a system
    service that is pulled in by <filename>poweroff.target</filename> and
    is responsible for the actual system power-off operation. Similarly,
    <filename>systemd-halt.service</filename> is pulled in by
    <filename>halt.target</filename>,
    <filename>systemd-reboot.service</filename> by
    <filename>reboot.target</filename> and
    <filename>systemd-kexec.service</filename> by
    <filename>kexec.target</filename> to execute the respective
    actions.</para>

    <para>When these services are run, they ensure that PID 1 is
    replaced by the
    <filename>/usr/lib/systemd/systemd-shutdown</filename> tool which
    is then responsible for the actual shutdown. Before shutting down,
    this binary will try to unmount all remaining file systems,
    disable all remaining swap devices, detach all remaining storage
    devices and kill all remaining processes.</para>

    <para>It is necessary to have this code in a separate binary
    because otherwise rebooting after an upgrade might be broken — the
    running PID 1 could still depend on libraries which are not
    available any more, thus keeping the file system busy, which then
    cannot be re-mounted read-only.</para>

    <para>Immediately before executing the actual system
    power-off/halt/reboot/kexec <filename>systemd-shutdown</filename>
    will run all executables in
    <filename>/usr/lib/systemd/system-shutdown/</filename> and pass
    one arguments to them: either <literal>poweroff</literal>,
    <literal>halt</literal>, <literal>reboot</literal>, or
    <literal>kexec</literal>, depending on the chosen action. All
    executables in this directory are executed in parallel, and
    execution of the action is not continued before all executables
    finished.</para>

    <para>Note that <filename>systemd-poweroff.service</filename> (and the related units) should never be
    executed directly. Instead, trigger system shutdown with a command such as <literal>systemctl
    poweroff</literal>.</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>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>reboot</refentrytitle><manvolnum>2</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd-suspend.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>bootup</refentrytitle><manvolnum>7</manvolnum></citerefentry>
    </para>
  </refsect1>

</refentry>
