systemd-suspend.service

Index · Directives · Python · libudev · gudev systemd 204

## Name

systemd-suspend.service, systemd-hibernate.service, systemd-hybrid-sleep.service, systemd-sleep — System sleep state logic

## Synopsis

`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. 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 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. What exactly is written where can be configured in the `[Sleep]` section of `/etc/systemd/sleep.conf`. See systemd-sleep.conf(5).

## Options

systemd-sleep understands the following commands:

`-h`, `--help`

  Print a short help text and exit.

`--version`

  Print the systemd version identifier and exit.

`suspend`, `hibernate`, `hybrid-sleep`

  Suspend, hibernate, or put the system to hybrid sleep.

## See Also

systemd-sleep.conf(5), systemd(1), systemctl(1), systemd.special(7), systemd-halt.service(8)