;-)

;-)

我想使用at命令安排工作,但那时我的笔记本电脑可能已经进入睡眠状态。那么问题是该命令会被执行吗?

如果是,怎么办?我的意思是我的计算机会唤醒并且命令会运行还是其他什么?
如果没有,为什么不呢?

答案1

“睡眠”被定义为超低功耗:所有子系统都获得关掉并且消耗极少的功率,但可以很快被唤醒外部的事件:盖子打开、电源按钮、按键、WOL 数据包、BIOS。

所以不,你的命令不会在“睡眠”模式下运行, 但可以在低功耗模式下运行:在这种模式下,如果不再需要,您的磁盘将关闭,屏幕、键盘也是如此,但 WiFi、LAN、内存、CPU……只是继续运转。

或者,您可以:

  1. 由一台从不休眠的服务器发送 WOL 数据包,并且会“唤醒”(甚至从休眠状态或完全关闭状态)其他机器被允许睡觉。(就像守夜人会唤醒整个皇家卫队)
  2. 如果您的 BIOS 支持此功能:让 BIOS 在特定时间点唤醒您的计算机。 (外部唤醒的另一个例子)

;-)

答案2

我不认为你可以这样做at,但你可以使用实时唤醒反而。

也可以看看https://www.howtogeek.com/121241/how-to-make-your-linux-pc-wake-from-sleep-automatically/, 尤其:

将系统从睡眠状态唤醒后,使用&&运算符运行特定命令。rtcwake例如,以下命令将计算机挂起至 RAM,两分钟后将其唤醒,然后启动 Firefox:

rtcwake -m mem -s 120 && firefox

例如,要让您的计算机在明天早上 6:30 唤醒但不立即挂起(假设您的硬件时钟设置为本地时间),请运行以下命令:

sudo rtcwake -m no -l -t $(date +%s -d ‘tomorrow 06:30’)

但请注意,与使用不同at,您必须担心是否已经是午夜:您显然需要tomorrow 06:30在午夜之前并且只需06:30午夜之后。这个答案有一个解决方案。

相关内容