当我想要录制节目时,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
...