X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsystemd-halt.service.xml;h=552dbdf687a38ab001e8a425f9a5b39f42c5a8c9;hp=6a6bfdc7d7a894896a21c59a9e945fa24c9f96e4;hb=deb480d1a7c3f3178c44f0aa73765181c0e2317f;hpb=f274ece0f76b5709408821e317e87aef76123db6 diff --git a/man/systemd-halt.service.xml b/man/systemd-halt.service.xml index 6a6bfdc7d..552dbdf68 100644 --- a/man/systemd-halt.service.xml +++ b/man/systemd-halt.service.xml @@ -65,7 +65,7 @@ systemd-halt.service is a system service that is pulled in by halt.target and is responsible - for the actual system halt. Similar, + for the actual system halt. Similarly, systemd-poweroff.service is pulled in by poweroff.target, systemd-reboot.service by @@ -74,25 +74,31 @@ kexec.target to execute the respective actions. - When these services are run they ensure that PID + 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 + 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 + 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. @@ -101,7 +107,7 @@ systemd-halt.service (and the related units) should never be executed directly. Instead, trigger system shutdown with a - command such as "systemctl halt" or + command such as systemctl halt or suchlike.