systemd-suspend.service
systemd
Developer
Lennart
Poettering
lennart@poettering.net
systemd-suspend.service
8
systemd-suspend.service
systemd-hibernate.service
systemd-hybrid-sleep.service
systemd-sleep
System sleep state logic
systemd-suspend.service
systemd-hibernate.service
systemd-hybrid-sleep.service
/usr/lib/systemd/systemd-sleep
Description
systemd-suspend.service is
a system service that is pulled in by
suspend.target and is responsible
for the actual system suspend. Similar,
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 before all executables
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 interfaces available.
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.
See Also
systemd1,
systemctl1,
systemd.special7,
systemd-halt.service8