'\" t .TH "SYSTEMD\-SUSPEND\&.SERVICE" "8" "" "systemd 247" "systemd-suspend.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-suspend.service, systemd-hibernate.service, systemd-hybrid-sleep.service, systemd-suspend-then-hibernate.service, systemd-sleep \- System sleep state logic .SH "SYNOPSIS" .PP systemd\-suspend\&.service .PP systemd\-hibernate\&.service .PP systemd\-hybrid\-sleep\&.service .PP systemd\-suspend\-then\-hibernate\&.service .PP /lib/systemd/system\-sleep .SH "DESCRIPTION" .PP systemd\-suspend\&.service is a system service that is pulled in by suspend\&.target and is responsible for the actual system suspend\&. Similarly, systemd\-hibernate\&.service is pulled in by hibernate\&.target to execute the actual hibernation\&. Finally, systemd\-hybrid\-sleep\&.service is pulled in by hybrid\-sleep\&.target to execute hybrid hibernation with system suspend and pulled in by suspend\-then\-hibernate\&.target to execute system suspend with a timeout that will activate hibernate later\&. .PP Immediately before entering system suspend and/or hibernation systemd\-suspend\&.service (and the other mentioned units, respectively) will run all executables in /lib/systemd/system\-sleep/ and pass two arguments to them\&. The first argument will be "pre", the second either "suspend", "hibernate", "hybrid\-sleep", or "suspend\-then\-hibernate" depending on the chosen action\&. Immediately after leaving system suspend and/or 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 until all executables have finished\&. .PP Note that scripts or binaries dropped in /lib/systemd/system\-sleep/ are intended for local use only and should be considered hacks\&. If applications want to react to system suspend/hibernation and resume, they should rather use the \m[blue]\fBInhibitor interface\fR\m[]\&\s-2\u[1]\d\s+2\&. .PP Note that systemd\-suspend\&.service, systemd\-hibernate\&.service, systemd\-hybrid\-sleep\&.service, and systemd\-suspend\-then\-hibernate\&.service should never be executed directly\&. Instead, trigger system sleep with a command such as \fBsystemctl suspend\fR or \fBsystemctl hibernate\fR\&. .PP Internally, this service will echo a string like "mem" into /sys/power/state, to trigger the actual system suspend\&. What exactly is written where can be configured in the [Sleep] section of /etc/systemd/sleep\&.conf or a sleep\&.conf\&.d file\&. See \fBsystemd-sleep.conf\fR(5)\&. .SH "OPTIONS" .PP \fBsystemd\-sleep\fR understands the following commands: .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 Print a short help text and exit\&. .RE .PP \fB\-\-version\fR .RS 4 Print a short version string and exit\&. .RE .PP \fBsuspend\fR, \fBhibernate\fR, \fBhybrid\-sleep\fR, \fBsuspend\-then\-hibernate\fR .RS 4 Suspend, hibernate, suspend then hibernate, or put the system to hybrid sleep\&. .RE .SH "SEE ALSO" .PP \fBsystemd-sleep.conf\fR(5), \fBsystemd\fR(1), \fBsystemctl\fR(1), \fBsystemd.special\fR(7), \fBsystemd-halt.service\fR(8) .SH "NOTES" .IP " 1." 4 Inhibitor interface .RS 4 \%https://www.freedesktop.org/wiki/Software/systemd/inhibit .RE