![systemd、journalctl 和挂起/恢复(睡眠/唤醒):在日志中默认标记?或者如何添加?一般而言,围绕挂起/恢复编写脚本吗?](https://linux22.com/image/223050/systemd%E3%80%81journalctl%20%E5%92%8C%E6%8C%82%E8%B5%B7%2F%E6%81%A2%E5%A4%8D%EF%BC%88%E7%9D%A1%E7%9C%A0%2F%E5%94%A4%E9%86%92%EF%BC%89%EF%BC%9A%E5%9C%A8%E6%97%A5%E5%BF%97%E4%B8%AD%E9%BB%98%E8%AE%A4%E6%A0%87%E8%AE%B0%EF%BC%9F%E6%88%96%E8%80%85%E5%A6%82%E4%BD%95%E6%B7%BB%E5%8A%A0%EF%BC%9F%E4%B8%80%E8%88%AC%E8%80%8C%E8%A8%80%EF%BC%8C%E5%9B%B4%E7%BB%95%E6%8C%82%E8%B5%B7%2F%E6%81%A2%E5%A4%8D%E7%BC%96%E5%86%99%E8%84%9A%E6%9C%AC%E5%90%97%EF%BC%9F.png)
(
首先,我不太确定官方条款是什么。
我思考它是“挂起”/“恢复”,
“睡眠”/“唤醒”是同义词
(我不确定是否还有其他常见的同义词)。
还有其他相关但不同的东西,即“休眠”,
它很少使用,因为对它的硬件支持比较棘手,而且通常不值得尝试搞乱(我相信?)。
(还有“挂起到内存”。我不太清楚这是否是普通“挂起”或“休眠”或其他什么的同义词。)
然而,我在这里只对“睡眠”/“唤醒”感兴趣。
)
因此,我想回顾一下系统日志,看看将系统从睡眠状态唤醒后发生了什么。
(我有一个 USB 键盘,在我拔下并重新插入它之前,它似乎无法正常恢复,并且我思考这是一个软件问题,我正在尝试解决它。)
然而,我不确定我是否能始终在系统日志中找到正确的位置。
有人告诉我手动运行
(睡眠前):(
su root -c 'echo "Sleep started" > /dev/kmsg'
睡眠后):
su root -c 'echo "Sleep ended" > /dev/kmsg'
这对我来说似乎很奇怪,
因为我会认为某物默认情况下已经记录到日志会标记睡眠/唤醒吗?
如果是这样,那又怎样?
如果没有,如何应该我添加一些东西自动地记录睡眠/醒来时间?
一般来说,
我应该如何围绕睡眠/唤醒编写脚本?
例如,如果我做过想要让
su root -c 'echo "Sleep started" > /dev/kmsg'
它们
su root -c 'echo "Sleep ended" > /dev/kmsg'
分别在睡眠之前和之后自动运行
(尽可能接近睡眠之前/之后的最后/第一件事)?
我找到了这个文件:
/etc/systemd/sleep.conf
我应该使用它吗?
(
就像,我想我正在寻找相当于初始化脚本的东西,
但是用于唤醒/睡眠而不仅仅是启动/关闭。...
虽然
在睡眠的情况下,我注意到可以只有一个脚本运行,
并使用命令在脚本中间休眠,
然后,无需执行任何其他操作,
脚本的其余部分将在您唤醒计算机后继续运行。
不确定这是否是正确的做事的方式,但原则上肯定是可能的。
)
journalctl
另外,说实话,我一周前才开始使用。
在此之前,我只是dmesg
偶尔使用(使用--ctime
/-T
标志)
——每当我想检查最近是否有 OOM 或段错误或其他什么情况时。
然而,dmesg --ctime
有一个长期存在的错误
,它只计算启动后的秒数,
然后天真地将其转换为“人类可读”时间戳,
但完全忽略睡眠/唤醒,
因此时间戳实际上越来越远离同步。实际的实时 计算机运行的时间越长,
如果您每晚都睡觉但不睡觉重新启动。
那么时间戳是否journalctl
仍然存在该错误,
或者是否已修复?