summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2012-06-26 17:50:29 +0200
committerLennart Poettering <lennart@poettering.net>2012-06-26 17:50:29 +0200
commit0127336c01198ef210882207d24257cb3752718b (patch)
tree7c53c33ff6af3a317941ca7c46f2a91d649237c1
parente2b696ee9bffad34daaafc99d3a5d8ee13504288 (diff)
man: document systemd-halt.service and friends
-rw-r--r--Makefile.am13
-rw-r--r--man/systemd-halt.service.xml119
-rw-r--r--man/systemd-suspend.service.xml26
-rw-r--r--units/systemd-halt.service.in1
-rw-r--r--units/systemd-kexec.service.in1
-rw-r--r--units/systemd-poweroff.service.in1
-rw-r--r--units/systemd-reboot.service.in1
7 files changed, 151 insertions, 11 deletions
diff --git a/Makefile.am b/Makefile.am
index 4de639dcee..7b8710b0ca 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -492,7 +492,8 @@ MANPAGES = \
man/systemd-update-utmp-runlevel.service.8 \
man/systemd-initctl.service.8 \
man/systemd-shutdownd.service.8 \
- man/systemd-suspend.service.8
+ man/systemd-suspend.service.8 \
+ man/systemd-halt.service.8
MANPAGES_ALIAS = \
man/reboot.8 \
@@ -507,7 +508,11 @@ MANPAGES_ALIAS = \
man/systemd-initctl.8 \
man/systemd-shutdownd.8 \
man/systemd-hibernate.service.8 \
- man/systemd-sleep.8
+ man/systemd-sleep.8 \
+ man/systemd-shutdown.8 \
+ man/systemd-poweroff.service.8 \
+ man/systemd-reboot.service.8 \
+ man/systemd-kexec.service.8
man/reboot.8: man/halt.8
man/poweroff.8: man/halt.8
@@ -522,6 +527,10 @@ man/systemd-initctl.8: man/systemd-initctl.service.8
man/systemd-shutdownd.8: man/systemd-shutdownd.service.8
man/systemd-hibernate.service.8: man/systemd-suspend.service.8
man/systemd-sleep.8: man/systemd-suspend.service.8
+man/systemd-shutdown.8: man/systemd-halt.service.8
+man/systemd-poweroff.service.8: man/systemd-halt.service.8
+man/systemd-reboot.service.8: man/systemd-halt.service.8
+man/systemd-kexec.service.8: man/systemd-halt.service.8
XML_FILES = \
${patsubst %.1,%.xml,${patsubst %.3,%.xml,${patsubst %.5,%.xml,${patsubst %.7,%.xml,${patsubst %.8,%.xml,$(MANPAGES)}}}}}
diff --git a/man/systemd-halt.service.xml b/man/systemd-halt.service.xml
new file mode 100644
index 0000000000..6957fb984e
--- /dev/null
+++ b/man/systemd-halt.service.xml
@@ -0,0 +1,119 @@
+<?xml version='1.0'?> <!--*-nxml-*-->
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+
+<!--
+ This file is part of systemd.
+
+ Copyright 2012 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+-->
+
+<refentry id="systemd-halt.service">
+
+ <refentryinfo>
+ <title>systemd-halt.service</title>
+ <productname>systemd</productname>
+
+ <authorgroup>
+ <author>
+ <contrib>Developer</contrib>
+ <firstname>Lennart</firstname>
+ <surname>Poettering</surname>
+ <email>lennart@poettering.net</email>
+ </author>
+ </authorgroup>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle>systemd-halt.service</refentrytitle>
+ <manvolnum>8</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>systemd-halt.service</refname>
+ <refname>systemd-poweroff.service</refname>
+ <refname>systemd-reboot.service</refname>
+ <refname>systemd-kexec.service</refname>
+ <refname>systemd-shutdown</refname>
+ <refpurpose>systemd System Shutdown Logic</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <para><filename>systemd-halt.service</filename></para>
+ <para><filename>systemd-poweroff.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>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>Description</title>
+
+ <para><filename>systemd-halt.service</filename> is a
+ system service that is pulled in by
+ <filename>halt.target</filename> and is responsible
+ for the actual system halt. Similar,
+ <filename>systemd-poweroff.service</filename> is
+ pulled in by <filename>poweroff.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/system-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>Immediately before executing the actual system
+ halt/poweroff/reboot/kexec
+ <filename>system-shutdown</filename> will run all
+ executables in
+ <filename>/usr/lib/systemd/system-shutdown/</filename>
+ and pass one arguments to them: either
+ "<literal>halt</literal>",
+ "<literal>poweroff</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-halt.service</filename> (and the
+ related units) should never be executed
+ directly. Instead, trigger system shutdown with a
+ command such as "<literal>systemctl halt</literal>" or
+ suchlike.</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>
+ </para>
+ </refsect1>
+
+</refentry>
diff --git a/man/systemd-suspend.service.xml b/man/systemd-suspend.service.xml
index dea778fbec..1ae742bcd8 100644
--- a/man/systemd-suspend.service.xml
+++ b/man/systemd-suspend.service.xml
@@ -46,7 +46,7 @@
<refname>systemd-suspend.service</refname>
<refname>systemd-hibernate.service</refname>
<refname>systemd-sleep</refname>
- <refpurpose>systemd System Suspend/Hibernate Logic</refpurpose>
+ <refpurpose>systemd System Sleep State Logic</refpurpose>
</refnamediv>
<refsynopsisdiv>
@@ -74,13 +74,14 @@
and pass two arguments to them. The first argument
will be "<literal>pre</literal>", the second either
"<literal>suspend</literal>" or
- "<literal>hibernate</literal>", depending on the chosen
- action. Immediately after leaving system suspend and
- hibernation the same executables are run, but the
- first argument is now "<literal>post</literal>". All
- executables in this directory are executed in
- parallel, and execution of the action is not continued
- before all executables finished.</para>
+ "<literal>hibernate</literal>", depending on the
+ chosen action. Immediately after leaving system
+ suspend and hibernation the same executables are run,
+ but the first argument is now
+ "<literal>post</literal>". 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 scripts or binaries dropped in
<filename>/usr/lib/systemd/system-sleep/</filename>
@@ -89,13 +90,20 @@
of system suspend and resume there are much nicer
interfaces available.</para>
+ <para>Note that
+ <filename>systemd-suspend.service</filename> and
+ <filename>systemd-hibernate.service</filename> should
+ never be executed directly. Instead, trigger system
+ sleep states with a command such as "<literal>systemctl
+ suspend</literal>" or suchlike.</para>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-halt.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/units/systemd-halt.service.in b/units/systemd-halt.service.in
index b746d1ea35..d55d622c1c 100644
--- a/units/systemd-halt.service.in
+++ b/units/systemd-halt.service.in
@@ -7,6 +7,7 @@
[Unit]
Description=Halt
+Documentation=man:systemd-halt.service(8)
DefaultDependencies=no
Requires=shutdown.target umount.target final.target
After=shutdown.target umount.target final.target
diff --git a/units/systemd-kexec.service.in b/units/systemd-kexec.service.in
index 17d0344972..61303f917f 100644
--- a/units/systemd-kexec.service.in
+++ b/units/systemd-kexec.service.in
@@ -7,6 +7,7 @@
[Unit]
Description=Reboot via kexec
+Documentation=man:systemd-halt.service(8)
DefaultDependencies=no
Requires=shutdown.target umount.target final.target
After=shutdown.target umount.target final.target
diff --git a/units/systemd-poweroff.service.in b/units/systemd-poweroff.service.in
index 851a0f9451..3630719733 100644
--- a/units/systemd-poweroff.service.in
+++ b/units/systemd-poweroff.service.in
@@ -7,6 +7,7 @@
[Unit]
Description=Power-Off
+Documentation=man:systemd-halt.service(8)
DefaultDependencies=no
Requires=shutdown.target umount.target final.target
After=shutdown.target umount.target final.target
diff --git a/units/systemd-reboot.service.in b/units/systemd-reboot.service.in
index e6a8aabd9d..d99bd3e701 100644
--- a/units/systemd-reboot.service.in
+++ b/units/systemd-reboot.service.in
@@ -7,6 +7,7 @@
[Unit]
Description=Reboot
+Documentation=man:systemd-halt.service(8)
DefaultDependencies=no
Requires=shutdown.target umount.target final.target
After=shutdown.target umount.target final.target