diff --git a/Makefile.am b/Makefile.am
index 4de639dcee4..7b8710b0ca9 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 00000000000..6957fb984e2
--- /dev/null
+++ b/man/systemd-halt.service.xml
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+
+
+ systemd-halt.service
+ systemd
+
+
+
+ Developer
+ Lennart
+ Poettering
+ lennart@poettering.net
+
+
+
+
+
+ systemd-halt.service
+ 8
+
+
+
+ systemd-halt.service
+ systemd-poweroff.service
+ systemd-reboot.service
+ systemd-kexec.service
+ systemd-shutdown
+ systemd System Shutdown Logic
+
+
+
+ systemd-halt.service
+ systemd-poweroff.service
+ systemd-reboot.service
+ systemd-kexec.service
+ /usr/lib/systemd/systemd-shutdown
+
+
+
+ Description
+
+ systemd-halt.service is a
+ system service that is pulled in by
+ halt.target and is responsible
+ for the actual system halt. Similar,
+ systemd-poweroff.service is
+ pulled in by poweroff.target,
+ systemd-reboot.service by
+ reboot.target and
+ systemd-kexec.service by
+ kexec.target to execute the
+ respective actions.
+
+ When these services are run they ensure that PID
+ 1 is replaced by the
+ /usr/lib/systemd/system-shutdown
+ 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.
+
+ Immediately before executing the actual system
+ halt/poweroff/reboot/kexec
+ system-shutdown will run all
+ executables in
+ /usr/lib/systemd/system-shutdown/
+ and pass one arguments to them: either
+ "halt",
+ "poweroff",
+ "reboot" or
+ "kexec", 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.
+
+ Note that
+ systemd-halt.service (and the
+ related units) should never be executed
+ directly. Instead, trigger system shutdown with a
+ command such as "systemctl halt" or
+ suchlike.
+
+
+
+ See Also
+
+ systemd1,
+ systemctl1,
+ systemd.special7,
+ reboot2,
+ systemd-suspend.service8
+
+
+
+
diff --git a/man/systemd-suspend.service.xml b/man/systemd-suspend.service.xml
index dea778fbec6..1ae742bcd80 100644
--- a/man/systemd-suspend.service.xml
+++ b/man/systemd-suspend.service.xml
@@ -46,7 +46,7 @@
systemd-suspend.service
systemd-hibernate.service
systemd-sleep
- systemd System Suspend/Hibernate Logic
+ systemd System Sleep State Logic
@@ -74,13 +74,14 @@
and pass two arguments to them. The first argument
will be "pre", the second either
"suspend" or
- "hibernate", depending on the chosen
- action. Immediately after leaving system suspend and
- hibernation the same executables are run, but the
- first argument is now "post". All
- executables in this directory are executed in
- parallel, and execution of the action is not continued
- before all executables finished.
+ "hibernate", depending on the
+ chosen action. Immediately after leaving system
+ suspend and hibernation the same executables are run,
+ but the first argument is now
+ "post". All executables in this
+ directory are executed in parallel, and execution of
+ the action is not continued before all executables
+ finished.
Note that scripts or binaries dropped in
/usr/lib/systemd/system-sleep/
@@ -89,13 +90,20 @@
of system suspend and resume there are much nicer
interfaces available.
+ Note that
+ systemd-suspend.service and
+ systemd-hibernate.service should
+ never be executed directly. Instead, trigger system
+ sleep states with a command such as "systemctl
+ suspend" or suchlike.
See Also
systemd1,
- systemd.special7
+ systemctl1,
+ systemd.special7,
systemd-halt.service8
diff --git a/units/systemd-halt.service.in b/units/systemd-halt.service.in
index b746d1ea353..d55d622c1c2 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 17d03449728..61303f917f9 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 851a0f94511..36307197333 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 e6a8aabd9dc..d99bd3e7013 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