linux 休眠定时唤醒_Linux 下使用rtcwake实现定时休眠和唤醒设备

本文介绍了如何在Linux系统中使用rtcwake命令进行定时休眠和唤醒操作,包括standby、mem等不同休眠模式的使用方法,并展示了设置休眠后20秒唤醒以及指定时间唤醒的命令示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查看是否安装rtcwake

whereisrtcwake

rtcwake:/usr/sbin/rtcwake /usr/share/man/man8/rtcwake.8.gz

查看rtcwake帮助

rtcwake --help

Usage:

rtcwake [options]

Options:-d, --device select rtc device (rtc0|rtc1|...)-n, --dry-run does everything, but suspend-l, --local RTC uses local timezone-m, --mode standby|mem|... sleepmode-s, --seconds seconds to sleep

-t, --time timeto wake-u, --utc RTC uses UTC-v, --verbose verbose messages-h, --help display this help and exit-V, --version output version information and exit

Formore details see rtcwake(8).

使用方法

standby

普通待机模式,为默认选项,对应ACPI  state S1

mem

待机到内存,即内存之外把其他设备都进入低功耗模式,对应ACPI state S3

disk

待机到硬盘,即休眠,把电脑的当前状态保存到硬盘,几乎不消耗外部电源,对应ACPI state S4

off

通过调用系统的关机命令来休眠, 对应ACPI state S5

可以通过以下命令查阅当前系统支持的休眠模式

cat /sys/power/state

standby mem disk

执行该命令的时候需要root权限

1. 系统休眠后20seconds唤醒,加-v选项可以看到更多的打印信息

sudo rtcwake -v -s 20 -m mem 或sudo rtcwake -v -s 20 -m standby

打印信息:

rtcwake -v -s 20 -m mem

Using UTCtime.

delta= 0tzone= 0tzname=UTC

systime= 1393296617, (UTC) Tue Feb 25 02:50:17 2014rtctime= 1393296617, (UTC) Tue Feb 25 02:50:17 2014alarm0, sys_time 1393296617, rtc_time 1393296617, seconds 20rtcwake: wakeup from"mem" using /dev/rtc0 at Tue Feb 25 02:50:38 2014suspend mode: mem; suspending system

2. 系统在指定的时间醒来

rtcwake -v -t `date -d 10:53 +%s` -m mem

Using UTCtime.

delta= 0tzone= 0tzname=UTC

systime= 1393296754, (UTC) Tue Feb 25 02:52:34 2014rtctime= 1393296754, (UTC) Tue Feb 25 02:52:34 2014alarm1393296780, sys_time 1393296754, rtc_time 1393296754, seconds 0rtcwake: wakeup from"mem" using /dev/rtc0 at Tue Feb 25 02:53:00 2014suspend mode: mem; suspending system

rtcwake -v -t `date -d 10:54 +%s` -m standby

Using UTCtime.

delta= 0tzone= 0tzname=UTC

systime= 1393296794, (UTC) Tue Feb 25 02:53:14 2014rtctime= 1393296794, (UTC) Tue Feb 25 02:53:14 2014alarm1393296840, sys_time 1393296794, rtc_time 1393296794, seconds 0rtcwake: wakeup from"standby" using /dev/rtc0 at Tue Feb 25 02:54:00 2014suspend mode: standby; suspending system

如果发现systime 和rtctime时间不一致,需要利用hwclock进行调整。

原文链接:https://blog.youkuaiyun.com/bulreed/article/details/19907691

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值