来自 systemctl 联机帮助页:
暂停
暂停系统。这将触发特殊目标单元 suspend.target 的激活。该命令是异步的,将在挂起操作成功入队后返回。它不会等待挂起/恢复周期完成。
在我的系统上suspend.target
看起来像这样:
[Unit]
Description=Suspend
Documentation=man:systemd.special(7)
DefaultDependencies=no
Requires=systemd-suspend.service
After=systemd-suspend.service
StopWhenUnneeded=yes
如果我查看man:systemd.special(7)
那里列出的内容,我会发现:
suspend.target 用于挂起系统的特殊目标单元。这会引入 sleep.target。
如果我深入研究,systemd-suspend.service
我会得到:
systemd-suspend.service 是一个由 suspend.target 拉入的系统服务,负责实际的系统挂起。
...
在内部,该服务会将“mem”等字符串回显到 /sys/power/state 中,以触发实际的系统挂起。具体写入的内容可以在 /etc/systemd/sleep.conf 或 sleep.conf.d 文件的“[Sleep]”部分进行配置。
的文档sleep.conf
告诉我:
默认配置是在编译期间定义的,因此仅当需要偏离这些默认值时才需要配置文件。
我的系统上没有,sleep.conf
所以它必须使用编译的默认值。我不明白那些是什么。
默认情况下发送给/sys/power/state
朋友的确切命令是什么?systemctl suspend
答案1
默认值是"mem", "standby", "freeze"
(最后两个和配置睡眠模式的能力已经2013年添加因此它们可能不适用于较旧的设置)。
您引用的手册页描述了它是如何完成的,即systemd-suspend.service
写道
"mem"
...类似于into 的字符串/sys/power/state
,用于触发实际的系统挂起。
有关睡眠状态以及sysfs
用户空间可用于控制这些状态的接口的更多信息,请参阅官方文档:系统睡眠状态