f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen<?xml version='1.0'?> <!--*-nxml-*-->
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen<!--
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen This file is part of systemd.
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen Copyright 2012 Lennart Poettering
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen Copyright 2013 Zbigniew Jędrzejewski-Szmek
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen systemd is free software; you can redistribute it and/or modify it
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen under the terms of the GNU Lesser General Public License as published by
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen the Free Software Foundation; either version 2.1 of the License, or
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen (at your option) any later version.
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen systemd is distributed in the hope that it will be useful, but
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen WITHOUT ANY WARRANTY; without even the implied warranty of
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen Lesser General Public License for more details.
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen You should have received a copy of the GNU Lesser General Public License
d3cf48f4bd3d69a276f17aa7c910e0b35215cabaLennart Poettering along with systemd; If not, see <http://www.gnu.org/licenses/>.
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen-->
a553fd32d14739b746a05ae502b8acc38e5f9a50Tom Gundersen
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen<refentry id="systemd-suspend.service"
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen xmlns:xi="http://www.w3.org/2001/XInclude">
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen <refentryinfo>
e877666c1553a3dd5b05b4c48090f889ffc079e6Patrik Flykt <title>systemd-suspend.service</title>
d3cf48f4bd3d69a276f17aa7c910e0b35215cabaLennart Poettering <productname>systemd</productname>
d3cf48f4bd3d69a276f17aa7c910e0b35215cabaLennart Poettering
d3cf48f4bd3d69a276f17aa7c910e0b35215cabaLennart Poettering <authorgroup>
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen <author>
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen <contrib>Developer</contrib>
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen <firstname>Lennart</firstname>
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen <surname>Poettering</surname>
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen <email>lennart@poettering.net</email>
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen </author>
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen </authorgroup>
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen </refentryinfo>
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen <refmeta>
4b6141c42497dc199618f95fa3f359615eecfaa0Tom Gundersen <refentrytitle>systemd-suspend.service</refentrytitle>
4b6141c42497dc199618f95fa3f359615eecfaa0Tom Gundersen <manvolnum>8</manvolnum>
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen </refmeta>
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen
d3cf48f4bd3d69a276f17aa7c910e0b35215cabaLennart Poettering <refnamediv>
d3cf48f4bd3d69a276f17aa7c910e0b35215cabaLennart Poettering <refname>systemd-suspend.service</refname>
d3cf48f4bd3d69a276f17aa7c910e0b35215cabaLennart Poettering <refname>systemd-hibernate.service</refname>
d3cf48f4bd3d69a276f17aa7c910e0b35215cabaLennart Poettering <refname>systemd-hybrid-sleep.service</refname>
d3cf48f4bd3d69a276f17aa7c910e0b35215cabaLennart Poettering <refname>systemd-sleep</refname>
d3cf48f4bd3d69a276f17aa7c910e0b35215cabaLennart Poettering <refpurpose>System sleep state logic</refpurpose>
fe8db0c5ee3365a2fc80ee7ebffa238f9a0a2ae2Tom Gundersen </refnamediv>
fe8db0c5ee3365a2fc80ee7ebffa238f9a0a2ae2Tom Gundersen
85b5673b337048fa881a5afb1d00d1a7b95950fbTom Gundersen <refsynopsisdiv>
0ea51a1129b9984a3c6d96cef1b0e33c99b5e9cfTom Gundersen <para><filename>systemd-suspend.service</filename></para>
0ea51a1129b9984a3c6d96cef1b0e33c99b5e9cfTom Gundersen <para><filename>systemd-hibernate.service</filename></para>
0ea51a1129b9984a3c6d96cef1b0e33c99b5e9cfTom Gundersen <para><filename>systemd-hybrid-sleep.service</filename></para>
0ea51a1129b9984a3c6d96cef1b0e33c99b5e9cfTom Gundersen <para><filename>/usr/lib/systemd/system-sleep</filename></para>
85b5673b337048fa881a5afb1d00d1a7b95950fbTom Gundersen </refsynopsisdiv>
0ea51a1129b9984a3c6d96cef1b0e33c99b5e9cfTom Gundersen
0ea51a1129b9984a3c6d96cef1b0e33c99b5e9cfTom Gundersen <refsect1>
0ea51a1129b9984a3c6d96cef1b0e33c99b5e9cfTom Gundersen <title>Description</title>
0ea51a1129b9984a3c6d96cef1b0e33c99b5e9cfTom Gundersen
85b5673b337048fa881a5afb1d00d1a7b95950fbTom Gundersen <para><filename>systemd-suspend.service</filename> is a system
0ea51a1129b9984a3c6d96cef1b0e33c99b5e9cfTom Gundersen service that is pulled in by <filename>suspend.target</filename>
0ea51a1129b9984a3c6d96cef1b0e33c99b5e9cfTom Gundersen and is responsible for the actual system suspend. Similarly,
0ea51a1129b9984a3c6d96cef1b0e33c99b5e9cfTom Gundersen <filename>systemd-hibernate.service</filename> is pulled in by
fe8db0c5ee3365a2fc80ee7ebffa238f9a0a2ae2Tom Gundersen <filename>hibernate.target</filename> to execute the actual
d3cf48f4bd3d69a276f17aa7c910e0b35215cabaLennart Poettering hibernation. Finally,
d3cf48f4bd3d69a276f17aa7c910e0b35215cabaLennart Poettering <filename>systemd-hybrid-sleep.service</filename> is pulled in by
d3cf48f4bd3d69a276f17aa7c910e0b35215cabaLennart Poettering <filename>hybrid-sleep.target</filename> to execute hybrid
d3cf48f4bd3d69a276f17aa7c910e0b35215cabaLennart Poettering hibernation with system suspend.</para>
bddfc8afd329ac68a23f66a3512d4e249af25191Tom Gundersen
d3cf48f4bd3d69a276f17aa7c910e0b35215cabaLennart Poettering <para>Immediately before entering system suspend and/or
d3cf48f4bd3d69a276f17aa7c910e0b35215cabaLennart Poettering hibernation <filename>systemd-suspend.service</filename> (and the
d3cf48f4bd3d69a276f17aa7c910e0b35215cabaLennart Poettering other mentioned units, respectively) will run all executables in
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen <filename>/usr/lib/systemd/system-sleep/</filename> and pass two
1f6d9bc9ee894d4023b7eacea1754986f25bce57Tom Gundersen arguments to them. The first argument will be
1f6d9bc9ee894d4023b7eacea1754986f25bce57Tom Gundersen <literal>pre</literal>, the second either
4b6141c42497dc199618f95fa3f359615eecfaa0Tom Gundersen <literal>suspend</literal>, <literal>hibernate</literal>, or
1f6d9bc9ee894d4023b7eacea1754986f25bce57Tom Gundersen <literal>hybrid-sleep</literal> depending on the chosen action.
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen Immediately after leaving system suspend and/or hibernation the
f0c4cd7a2c2835a392b5b1807d8c506ab0af44deTom Gundersen same executables are run, but the first argument is now
1f6d9bc9ee894d4023b7eacea1754986f25bce57Tom Gundersen <literal>post</literal>. All executables in this directory are
f0c4cd7a2c2835a392b5b1807d8c506ab0af44deTom Gundersen executed in parallel, and execution of the action is not continued
1f6d9bc9ee894d4023b7eacea1754986f25bce57Tom Gundersen until all executables have finished.</para>
1f6d9bc9ee894d4023b7eacea1754986f25bce57Tom Gundersen
02b59d57e0c08231645120077f651151f5bb2babTom Gundersen <para>Note that scripts or binaries dropped in
f0c4cd7a2c2835a392b5b1807d8c506ab0af44deTom Gundersen <filename>/usr/lib/systemd/system-sleep/</filename> are intended
1f6d9bc9ee894d4023b7eacea1754986f25bce57Tom Gundersen for local use only and should be considered hacks. If applications
f0c4cd7a2c2835a392b5b1807d8c506ab0af44deTom Gundersen want to be notified of system suspend/hibernation and resume,
4b6141c42497dc199618f95fa3f359615eecfaa0Tom Gundersen there are much nicer interfaces available.</para>
1f6d9bc9ee894d4023b7eacea1754986f25bce57Tom Gundersen
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen <para>Note that
f0c4cd7a2c2835a392b5b1807d8c506ab0af44deTom Gundersen <filename>systemd-suspend.service</filename>,
1f6d9bc9ee894d4023b7eacea1754986f25bce57Tom Gundersen <filename>systemd-hibernate.service</filename>, and
f0c4cd7a2c2835a392b5b1807d8c506ab0af44deTom Gundersen <filename>systemd-hybrid-sleep.service</filename>
4b6141c42497dc199618f95fa3f359615eecfaa0Tom Gundersen should never be executed directly. Instead, trigger system sleep
1f6d9bc9ee894d4023b7eacea1754986f25bce57Tom Gundersen states with a command such as <literal>systemctl suspend</literal>
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen or similar.</para>
f0c4cd7a2c2835a392b5b1807d8c506ab0af44deTom Gundersen
1f6d9bc9ee894d4023b7eacea1754986f25bce57Tom Gundersen <para>Internally, this service will echo a string like
f0c4cd7a2c2835a392b5b1807d8c506ab0af44deTom Gundersen <literal>mem</literal> into <filename>/sys/power/state</filename>,
4b6141c42497dc199618f95fa3f359615eecfaa0Tom Gundersen to trigger the actual system suspend. What exactly is written
1f6d9bc9ee894d4023b7eacea1754986f25bce57Tom Gundersen where can be configured in the <literal>[Sleep]</literal> section
3bef724f7e7f7eaca69881548b06e221b77d7031Tom Gundersen of <filename>/etc/systemd/sleep.conf</filename> or a
505f8da7325591defe5f751f328bd26915267602Tom Gundersen <filename>sleep.conf.d</filename> file. See
1346b1f0388f4100bb3c2a2bb23bc881769c020cTom Gundersen <citerefentry><refentrytitle>systemd-sleep.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
f0c4cd7a2c2835a392b5b1807d8c506ab0af44deTom Gundersen </para>
1346b1f0388f4100bb3c2a2bb23bc881769c020cTom Gundersen </refsect1>
1346b1f0388f4100bb3c2a2bb23bc881769c020cTom Gundersen
1346b1f0388f4100bb3c2a2bb23bc881769c020cTom Gundersen <refsect1>
4b6141c42497dc199618f95fa3f359615eecfaa0Tom Gundersen <title>Options</title>
4b6141c42497dc199618f95fa3f359615eecfaa0Tom Gundersen
4b6141c42497dc199618f95fa3f359615eecfaa0Tom Gundersen <para><command>systemd-sleep</command> understands the
f882c247ad59776c3a7753bb963c1f8e2386cb79Tom Gundersen following commands:</para>
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen
1f6d9bc9ee894d4023b7eacea1754986f25bce57Tom Gundersen <variablelist>
1f6d9bc9ee894d4023b7eacea1754986f25bce57Tom Gundersen <xi:include href="standard-options.xml" xpointer="help" />
4b6141c42497dc199618f95fa3f359615eecfaa0Tom Gundersen <xi:include href="standard-options.xml" xpointer="version" />
1f6d9bc9ee894d4023b7eacea1754986f25bce57Tom Gundersen
4b6141c42497dc199618f95fa3f359615eecfaa0Tom Gundersen <varlistentry>
4b6141c42497dc199618f95fa3f359615eecfaa0Tom Gundersen <term><option>suspend</option></term>
4b6141c42497dc199618f95fa3f359615eecfaa0Tom Gundersen <term><option>hibernate</option></term>
4b6141c42497dc199618f95fa3f359615eecfaa0Tom Gundersen <term><option>hybrid-sleep</option></term>
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen
4b6141c42497dc199618f95fa3f359615eecfaa0Tom Gundersen <listitem><para>Suspend, hibernate, or put the system to
f579559b3a14c1f1ef96c372e7626c4733e6ef7dTom Gundersen hybrid sleep.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry><refentrytitle>systemd-sleep.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-halt.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>