|
NAME | SYNOPSIS | DESCRIPTION | SEE ALSO | COLOPHON |
SYSTEMD-HALT.SERVICE(8) systemd-halt.service SYSTEMD-HALT.SERVICE(8)
systemd-halt.service, systemd-poweroff.service, systemd-
reboot.service, systemd-kexec.service, systemd-shutdown - System
shutdown logic
systemd-halt.service
systemd-poweroff.service
systemd-reboot.service
systemd-kexec.service
/usr/lib/systemd/systemd-shutdown
/usr/lib/systemd/system-shutdown/
systemd-halt.service is a system service that is pulled in by
halt.target and is responsible for the actual system halt. Similarly,
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/systemd-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.
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.
Immediately before executing the actual system
halt/poweroff/reboot/kexec systemd-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.
systemd(1), systemctl(1), systemd.special(7), reboot(2),
systemd-suspend.service(8)
This page is part of the systemd (systemd system and service manager)
project. Information about the project can be found at
⟨http://www.freedesktop.org/wiki/Software/systemd⟩. If you have a bug
report for this manual page, see
⟨http://www.freedesktop.org/wiki/Software/systemd/#bugreports⟩. This
page was obtained from the project's upstream Git repository
⟨https://github.com/systemd/systemd.git⟩ on 2017-07-05. If you dis‐
cover any rendering problems in this HTML version of the page, or you
believe there is a better or more up-to-date source for the page, or
you have corrections or improvements to the information in this
COLOPHON (which is not part of the original manual page), send a mail
to man-pages@man7.org
systemd 234 SYSTEMD-HALT.SERVICE(8)
Pages that refer to this page: systemd.directives(7), systemd.index(7), systemd-suspend.service(8)