如何在 Linux 中禁用 RTC 警报(一旦安排好)

如何在 Linux 中禁用 RTC 警报(一旦安排好)

当我想要录制节目时,RTC 警报可以很好地唤醒我的系统,但如果我决定不想让系统在预定的时间唤醒,我发现很难禁用之前安排的警报。我试过:

sudo sh -c "echo 0 > /sys/class/rtc/rtc0/wakealarm"

但当我随后这样做时:

cat /proc/driver/rtc

闹钟已改为5分钟后。

我也尝试过:

sudo sh -c "echo `date '+%s' -d '- 5 minutes'` > /sys/class/rtc/rtc0/wakealarm"

但这也会将闹钟移到 5 分钟后(而不是预期的 5 分钟前)。目前,我只需拔下笔记本电脑的电源即可禁用唤醒功能,因为它不会唤醒使用电池供电的笔记本电脑。有没有关于如何禁用 RTC 闹钟的想法?谢谢。

答案1

这就是我期望它能正常工作的方式。你试过看看它是否真的会醒来吗?

当我打开闹钟时,它看起来是这样的:

$ sudo bash -c "echo $(date +'%s' -d '20 minutes') > /sys/class/rtc/rtc0/wakealarm"
$ cat /proc/driver/rtc 
rtc_time        : 13:25:55
rtc_date        : 2013-01-07
alrm_time       : 19:45:54
alrm_date       : 2013-01-07
alarm_IRQ       : yes          # Alarm is now on
alrm_pending    : no
...

当我把它关掉时:

$ sudo bash -c "echo 0 > /sys/class/rtc/rtc0/wakealarm"
$ cat /proc/driver/rtc 
rtc_time        : 13:28:09
rtc_date        : 2013-01-07
alrm_time       : 13:33:07
alrm_date       : 2013-01-07
alarm_IRQ       : no          # Alarm is now off
alrm_pending    : no
...

相关内容