![Systemd 看门狗在手动更改系统时间后终止服务](https://linux22.com/image/133322/Systemd%20%E7%9C%8B%E9%97%A8%E7%8B%97%E5%9C%A8%E6%89%8B%E5%8A%A8%E6%9B%B4%E6%94%B9%E7%B3%BB%E7%BB%9F%E6%97%B6%E9%97%B4%E5%90%8E%E7%BB%88%E6%AD%A2%E6%9C%8D%E5%8A%A1.png)
我一直在调查修复 systemd 看门狗的问题,但没有成功。我有很多属于Type=notify
.如果系统时间向后设置,则每个服务都会被 systemd 终止,因为它认为已达到看门狗超时。这是来自 systemd 的调试日志
systemd[1]: xxx:service: Unit entered failed state.
systemd[1]: xxx:service: Failed with result 'watchdog'.
有没有办法告诉Systemd在手动更改系统时间时不要重新启动服务?
看门狗不应该依赖于吗CLOCK_MONOTONIC
?这是 Systemd 中的已知问题吗?
答案1
有没有办法告诉Systemd在手动更改系统时间时不要重新启动服务?
不。根据man systemd.service
for的文档WatchDogSec=
,没有承诺 systemd 将使用单调计时器来跟踪它,因此它会像广告中那样工作。
如果您认为应该改变行为,您可以与 systemd 开发人员讨论或提出问题:
https://github.com/systemd/systemd/issues?utf8=%E2%9C%93&q=WatchDogSec%3D