Как узнать, вызвало ли RTC wakealarm системное пробуждение в Linux?
У меня есть приложение, работающее в Linux, где я хочу разбудить систему через несколько секунд после того, как она была приостановлена в оперативную память.
Я установил RTC, чтобы разбудить систему за 20 секунд, написав +20
в /sys/class/rtc/rtc0/wakealarm
в моей системе Linux, и это работает нормально. Код возобновляет выполнение на следующей строке после того, как я сделал Suspend-to-RAM, как и ожидалось.
Я хочу знать, есть ли какой-нибудь способ выяснить, что вызвало пробуждение системы, было ли это RTC или событие нажатия клавиши клавиатуры. Есть какой-нибудь способ выяснить источник события пробуждения?
1 ответ
Вы должны отслеживать события udev или использовать интерфейс dbus.