如何检测系统何时挂起?

Pau*_*son 7 suspend-resume suspend

我需要能够记录 Ubuntu 10.04 桌面系统暂停和恢复的时间。

我可以通过 DBus 信号(org.freedesktop.UPower.Resuming())检测系统何时恢复,但相应的“org.freedesktop.UPower.Sleeping()”信号从未被触发。理想情况下,我想使用 DBus,但鉴于我没有取得成功,我对任何可以从命令行调用的解决方案感到满意。

我发现了一种方法:

tail -f /var/log/pm-suspend.log | grep“执行暂停”

这只是侦听暂停日志记录的 pm 日志之一。虽然这有效,但它可能相当脆弱。由于日志语句的更改,我发现过去依赖日志解析存在相当大的问题。

理想情况下,我想要一个更强大的机制。调用它的服务将以 root 身份运行。

Rya*_*son 7

尝试将以下内容放入/etc/pm/sleep.d. 这应该与您的机器使用 APM 还是 ACPI 无关。

#!/bin/sh

LOGFILE="/var/log/sleep.log"

case "$1" in
        resume)
                echo "Resumed from suspend at `date`" >> "$LOGFILE"
                ;;
        thaw)
                echo "Resumed from hibernation at `date`" >> "$LOGFILE"
                ;;
        suspend)
                echo "Suspended to ram at `date`" >> "$LOGFILE"
                ;;
        hibernate)
                echo "Hibernated to disk at `date`" >> "$LOGFILE"
                ;;
esac
Run Code Online (Sandbox Code Playgroud)