我想了解 systemd 计时器,所以我一直在摆弄它。我发现了一种奇怪的行为,这不是我想要的。当我使用WakeSystem=true
并OnActiveSec
设置计时器启动 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分钟写入日志!
为什么会发生这种情况?如何让我的计算机在指定时间后唤醒,然后立即写入日志?