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.
Immediately before entering system suspend and/or hibernation
systemd-suspend.service (and the other mentioned units, respectively)
will run all executables in /usr/lib/systemd/system-sleep/ and pass
two arguments to them. The first argument will be "pre", the second
either "suspend", "hibernate", or "hybrid-sleep" 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.
Note that scripts or binaries dropped in
/usr/lib/systemd/system-sleep/ are intended for local use only and
should be considered hacks. If applications want to be notified of
system suspend/hibernation and resume, there are much nicer
Note that systemd-suspend.service, systemd-hibernate.service, and
systemd-hybrid-sleep.service should never be executed directly.
Instead, trigger system sleep states with a command such as
"systemctl suspend" or similar.
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
systemd-sleep understands the following commands:
Print a short help text and exit.
Print a short version string and exit.
suspend, hibernate, hybrid-sleep
Suspend, hibernate, or put the system to hybrid sleep.
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
page was obtained from the project's upstream Git repository
⟨https://github.com/systemd/systemd.git⟩ on 2016-09-01. 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
systemd 231 SYSTEMD-SUSPEND.SERVICE(8)