systemd-poweroff.service.html 5.22 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>systemd-halt.service</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><style>
    a.headerlink {
      color: #c60f0f;
      font-size: 0.8em;
      padding: 0 4px 0 4px;
      text-decoration: none;
      visibility: hidden;
    }

    a.headerlink:hover {
      background-color: #c60f0f;
      color: white;
    }

    h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink {
      visibility: visible;
    }
  </style><a href="index.html">Index </a>·
  <a href="systemd.directives.html">Directives </a>·
  <a href="../python-systemd/index.html">Python </a>·
  <a href="../libudev/index.html">libudev </a>·
Michael Biebl's avatar
Michael Biebl committed
22
  <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 215</span><hr><div class="refentry"><a name="systemd-halt.service"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>systemd-halt.service, systemd-poweroff.service, systemd-reboot.service, systemd-kexec.service, systemd-shutdown — System shutdown logic</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><p><code class="filename">systemd-halt.service</code></p><p><code class="filename">systemd-poweroff.service</code></p><p><code class="filename">systemd-reboot.service</code></p><p><code class="filename">systemd-kexec.service</code></p><p><code class="filename">/usr/lib/systemd/systemd-shutdown</code></p></div><div class="refsect1"><a name="idm214183037312"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">systemd-halt.service</code> is a
23 24
                system service that is pulled in by
                <code class="filename">halt.target</code> and is responsible
25
                for the actual system halt. Similarly,
26 27 28 29 30 31
                <code class="filename">systemd-poweroff.service</code> is
                pulled in by <code class="filename">poweroff.target</code>,
                <code class="filename">systemd-reboot.service</code> by
                <code class="filename">reboot.target</code> and
                <code class="filename">systemd-kexec.service</code> by
                <code class="filename">kexec.target</code> to execute the
32
                respective actions.</p><p>When these services are run, they ensure that PID
33 34 35
                1 is replaced by the
                <code class="filename">/usr/lib/systemd/systemd-shutdown</code>
                tool which is then responsible for the actual
36
                shutdown. Before shutting down, this binary will try to
37 38
                unmount all remaining file systems, disable all
                remaining swap devices, detach all remaining storage
39 40 41 42 43
                devices and kill all remaining processes.</p><p>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.</p><p>Immediately before executing the actual system
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
                halt/poweroff/reboot/kexec
                <code class="filename">systemd-shutdown</code> will run all
                executables in
                <code class="filename">/usr/lib/systemd/system-shutdown/</code>
                and pass one arguments to them: either
                "<code class="literal">halt</code>",
                "<code class="literal">poweroff</code>",
                "<code class="literal">reboot</code>" or
                "<code class="literal">kexec</code>", 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.</p><p>Note that
                <code class="filename">systemd-halt.service</code> (and the
                related units) should never be executed
                directly. Instead, trigger system shutdown with a
                command such as "<code class="literal">systemctl halt</code>" or
Michael Biebl's avatar
Michael Biebl committed
60
                suchlike.</p></div><div class="refsect1"><a name="idm214183155536"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
61 62 63 64 65 66
                        <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
                        <a href="systemctl.html"><span class="citerefentry"><span class="refentrytitle">systemctl</span>(1)</span></a>,
                        <a href="systemd.special.html"><span class="citerefentry"><span class="refentrytitle">systemd.special</span>(7)</span></a>,
                        <a href="reboot.html"><span class="citerefentry"><span class="refentrytitle">reboot</span>(2)</span></a>,
                        <a href="systemd-suspend.service.html"><span class="citerefentry"><span class="refentrytitle">systemd-suspend.service</span>(8)</span></a>
                </p></div></div></body></html>