How does systemctl suspend work?
Clash Royale CLAN TAG#URR8PPP
From the systemctl manpage:
suspend
Suspend the system. This will trigger activation of the special target unit suspend.target. This command is asynchronous, and will
return after the suspend operation is successfully enqueued. It will
not wait for the suspend/resume cycle to complete.
On my system the suspend.target
looks like this:
[Unit]
Description=Suspend
Documentation=man:systemd.special(7)
DefaultDependencies=no
Requires=systemd-suspend.service
After=systemd-suspend.service
StopWhenUnneeded=yes
If I look at the man:systemd.special(7)
listed there I get find this:
suspend.target
A special target unit for suspending the system. This pulls in sleep.target.
If I dig more into systemd-suspend.service
I get:
systemd-suspend.service is a system service that is pulled in by
suspend.target and is responsible for the actual system suspend.
...
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.
The documentation on sleep.conf
tells me:
The default configuration is defined during compilation, so a
configuration file is only needed when it is necessary to deviate from
those defaults.
There is no sleep.conf
on my system so it must be using the compiled defaults. I can't figure out what those are.
What are the exact commands being sent to /sys/power/state
and friends by systemctl suspend
by default?
systemd suspend
add a comment |
From the systemctl manpage:
suspend
Suspend the system. This will trigger activation of the special target unit suspend.target. This command is asynchronous, and will
return after the suspend operation is successfully enqueued. It will
not wait for the suspend/resume cycle to complete.
On my system the suspend.target
looks like this:
[Unit]
Description=Suspend
Documentation=man:systemd.special(7)
DefaultDependencies=no
Requires=systemd-suspend.service
After=systemd-suspend.service
StopWhenUnneeded=yes
If I look at the man:systemd.special(7)
listed there I get find this:
suspend.target
A special target unit for suspending the system. This pulls in sleep.target.
If I dig more into systemd-suspend.service
I get:
systemd-suspend.service is a system service that is pulled in by
suspend.target and is responsible for the actual system suspend.
...
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.
The documentation on sleep.conf
tells me:
The default configuration is defined during compilation, so a
configuration file is only needed when it is necessary to deviate from
those defaults.
There is no sleep.conf
on my system so it must be using the compiled defaults. I can't figure out what those are.
What are the exact commands being sent to /sys/power/state
and friends by systemctl suspend
by default?
systemd suspend
add a comment |
From the systemctl manpage:
suspend
Suspend the system. This will trigger activation of the special target unit suspend.target. This command is asynchronous, and will
return after the suspend operation is successfully enqueued. It will
not wait for the suspend/resume cycle to complete.
On my system the suspend.target
looks like this:
[Unit]
Description=Suspend
Documentation=man:systemd.special(7)
DefaultDependencies=no
Requires=systemd-suspend.service
After=systemd-suspend.service
StopWhenUnneeded=yes
If I look at the man:systemd.special(7)
listed there I get find this:
suspend.target
A special target unit for suspending the system. This pulls in sleep.target.
If I dig more into systemd-suspend.service
I get:
systemd-suspend.service is a system service that is pulled in by
suspend.target and is responsible for the actual system suspend.
...
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.
The documentation on sleep.conf
tells me:
The default configuration is defined during compilation, so a
configuration file is only needed when it is necessary to deviate from
those defaults.
There is no sleep.conf
on my system so it must be using the compiled defaults. I can't figure out what those are.
What are the exact commands being sent to /sys/power/state
and friends by systemctl suspend
by default?
systemd suspend
From the systemctl manpage:
suspend
Suspend the system. This will trigger activation of the special target unit suspend.target. This command is asynchronous, and will
return after the suspend operation is successfully enqueued. It will
not wait for the suspend/resume cycle to complete.
On my system the suspend.target
looks like this:
[Unit]
Description=Suspend
Documentation=man:systemd.special(7)
DefaultDependencies=no
Requires=systemd-suspend.service
After=systemd-suspend.service
StopWhenUnneeded=yes
If I look at the man:systemd.special(7)
listed there I get find this:
suspend.target
A special target unit for suspending the system. This pulls in sleep.target.
If I dig more into systemd-suspend.service
I get:
systemd-suspend.service is a system service that is pulled in by
suspend.target and is responsible for the actual system suspend.
...
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.
The documentation on sleep.conf
tells me:
The default configuration is defined during compilation, so a
configuration file is only needed when it is necessary to deviate from
those defaults.
There is no sleep.conf
on my system so it must be using the compiled defaults. I can't figure out what those are.
What are the exact commands being sent to /sys/power/state
and friends by systemctl suspend
by default?
systemd suspend
systemd suspend
edited Dec 24 '18 at 7:08
asked Dec 24 '18 at 5:54
Gregory Arenius
13017
13017
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
The defaults are "mem", "standby", "freeze"
(the last two and the ability to configure sleep modes have been added in 2013 so they might not be available on older setups).
The manual page you quoted describes how it's done, namely systemd-suspend.service
writes
... a string like
"mem"
into/sys/power/state
, to
trigger the actual system suspend.
For more information about the sleep states and the sysfs
interface that can be used by user space to control those states consult the official docs: System Sleep States
Thanks! I was looking in sleep.c not sleep-config.c and not finding what I needed. I always appreciate an answer that points to the actual source code!
– Gregory Arenius
Dec 24 '18 at 17:42
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f490719%2fhow-does-systemctl-suspend-work%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
The defaults are "mem", "standby", "freeze"
(the last two and the ability to configure sleep modes have been added in 2013 so they might not be available on older setups).
The manual page you quoted describes how it's done, namely systemd-suspend.service
writes
... a string like
"mem"
into/sys/power/state
, to
trigger the actual system suspend.
For more information about the sleep states and the sysfs
interface that can be used by user space to control those states consult the official docs: System Sleep States
Thanks! I was looking in sleep.c not sleep-config.c and not finding what I needed. I always appreciate an answer that points to the actual source code!
– Gregory Arenius
Dec 24 '18 at 17:42
add a comment |
The defaults are "mem", "standby", "freeze"
(the last two and the ability to configure sleep modes have been added in 2013 so they might not be available on older setups).
The manual page you quoted describes how it's done, namely systemd-suspend.service
writes
... a string like
"mem"
into/sys/power/state
, to
trigger the actual system suspend.
For more information about the sleep states and the sysfs
interface that can be used by user space to control those states consult the official docs: System Sleep States
Thanks! I was looking in sleep.c not sleep-config.c and not finding what I needed. I always appreciate an answer that points to the actual source code!
– Gregory Arenius
Dec 24 '18 at 17:42
add a comment |
The defaults are "mem", "standby", "freeze"
(the last two and the ability to configure sleep modes have been added in 2013 so they might not be available on older setups).
The manual page you quoted describes how it's done, namely systemd-suspend.service
writes
... a string like
"mem"
into/sys/power/state
, to
trigger the actual system suspend.
For more information about the sleep states and the sysfs
interface that can be used by user space to control those states consult the official docs: System Sleep States
The defaults are "mem", "standby", "freeze"
(the last two and the ability to configure sleep modes have been added in 2013 so they might not be available on older setups).
The manual page you quoted describes how it's done, namely systemd-suspend.service
writes
... a string like
"mem"
into/sys/power/state
, to
trigger the actual system suspend.
For more information about the sleep states and the sysfs
interface that can be used by user space to control those states consult the official docs: System Sleep States
answered Dec 24 '18 at 11:24
don_crissti
49.8k15132161
49.8k15132161
Thanks! I was looking in sleep.c not sleep-config.c and not finding what I needed. I always appreciate an answer that points to the actual source code!
– Gregory Arenius
Dec 24 '18 at 17:42
add a comment |
Thanks! I was looking in sleep.c not sleep-config.c and not finding what I needed. I always appreciate an answer that points to the actual source code!
– Gregory Arenius
Dec 24 '18 at 17:42
Thanks! I was looking in sleep.c not sleep-config.c and not finding what I needed. I always appreciate an answer that points to the actual source code!
– Gregory Arenius
Dec 24 '18 at 17:42
Thanks! I was looking in sleep.c not sleep-config.c and not finding what I needed. I always appreciate an answer that points to the actual source code!
– Gregory Arenius
Dec 24 '18 at 17:42
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f490719%2fhow-does-systemctl-suspend-work%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown