'\" t .TH "SYSTEMD\-HALT\&.SERVICE" "8" "" "systemd 232" "systemd-halt.service" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" systemd-halt.service, systemd-poweroff.service, systemd-reboot.service, systemd-kexec.service, systemd-shutdown \- System shutdown logic .SH "SYNOPSIS" .PP systemd\-halt\&.service .PP systemd\-poweroff\&.service .PP systemd\-reboot\&.service .PP systemd\-kexec\&.service .PP /lib/systemd/systemd\-shutdown .PP /lib/systemd/system\-shutdown/ .SH "DESCRIPTION" .PP 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\&. .PP When these services are run, they ensure that PID 1 is replaced by the /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\&. .PP It is necessary to have this code in a separate binary because otherwise rebooting after an upgrade might be broken\ \&\(em 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\&. .PP Immediately before executing the actual system halt/poweroff/reboot/kexec systemd\-shutdown will run all executables in /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\&. .PP 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\&. .SH "SEE ALSO" .PP \fBsystemd\fR(1), \fBsystemctl\fR(1), \fBsystemd.special\fR(7), \fBreboot\fR(2), \fBsystemd-suspend.service\fR(8)