systemd-halt.service.8 2.96 KB
Newer Older
1
'\" t
2
.TH "SYSTEMD\-HALT\&.SERVICE" "8" "" "systemd 215" "systemd-halt.service"
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
.\" -----------------------------------------------------------------
.\" * 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
/usr/lib/systemd/systemd\-shutdown
.SH "DESCRIPTION"
.PP
systemd\-halt\&.service
is a system service that is pulled in by
halt\&.target
40
and is responsible for the actual system halt\&. Similarly,
41 42 43 44 45 46 47 48 49 50 51 52
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
53
When these services are run, they ensure that PID 1 is replaced by the
54
/usr/lib/systemd/systemd\-shutdown
55 56 57
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\&.
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
.PP
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\&.
.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)