Jo-*_*-El 9 bash suspend hibernate 22.04
我基本上想让我的电脑永远处于睡眠状态并在指定时间醒来。通过研究,我确实发现了这一点,rtcwake但据我所知,这基本上是一次性使用,我每天都必须手动执行。我只是在寻找自动工作的东西,我只是不知道如何使用 bash 来强制 rtcwake 命令(如果这有任何意义的话)。
除了想要自动睡眠之外,我还遇到了 rtcwake 在使用“disk”选项时无论如何都无法工作的问题,因为它会抛出错误:
rtcwake: unrecognised suspend state 'disk'
Run Code Online (Sandbox Code Playgroud)
Rin*_*ind 13
要暂停/休眠,您可以使用
systemctl suspend
systemctl hibernate
Run Code Online (Sandbox Code Playgroud)
将其设置/etc/crontab为您希望发生这种情况的时间。
1 0 * * * root /usr/bin/systemctl hibernate
Run Code Online (Sandbox Code Playgroud)
要唤醒系统,您可以使用rtcwake. 在下午 4 点/16:00 唤醒系统的示例:
sudo rtcwake -m no -l -t "$(date -d 'today 16:00:00' '+\%s')"
Run Code Online (Sandbox Code Playgroud)
您也可以将其/etc/crontab用作@reboot触发器。
@reboot root /usr/bin/rtcwake -m no -l -t "$(/usr/bin/date -d 'today 16:00:00' '+\%s')"
Run Code Online (Sandbox Code Playgroud)
您可以将两者结合起来,那就是:
0 23 * * * root /usr/bin/rtcwake -m disk -s 60*60*12
Run Code Online (Sandbox Code Playgroud)
所以在 23:00 它将挂起并在 60 * 60 * 12 秒(12 小时)后唤醒。
请注意,可能存在冲突:如果系统正忙于执行某些操作,它将停止该操作并继续挂起。还有一些工具在有活动时不会暂停,例如autosuspend sudo apt install autosuspend。
| 归档时间: |
|
| 查看次数: |
2016 次 |
| 最近记录: |