Systemd 计时器 WakeSystem=true 等待两倍指定时间

Systemd 计时器 WakeSystem=true 等待两倍指定时间

我想了解 systemd 计时器,所以我一直在摆弄它。我发现了一种奇怪的行为,这不是我想要的。当我使用WakeSystem=trueOnActiveSec设置计时器启动 systemd 计时器,然后暂停时,计时器会等待该持续时间两次而不是一次。

这是一个您可以自己尝试的示例:

date >> /home/user/Desktop/MyWakeLog.txt;sudo systemd-run --unit='WakeTimer' --on-active='5m'  --timer-property='AccuracySec=1s' --timer-property='WakeSystem=true' /bin/sh -c "date >> /home/user/Desktop/MyWakeLog.txt";sudo systemctl suspend

您可能希望文件MyWakeLog.txt被写入一次,然后计时器启动,然后暂停。然后 5 分钟过去,计算机唤醒,文件MyWakeLog.txt再次被写入。

但事实并非如此!计时器会在 5 分钟后唤醒计算机并进入挂起状态,然后等待其他5分钟写入日志!

为什么会发生这种情况?如何让我的计算机在指定时间后唤醒,然后立即写入日志?

相关内容