我使用的是arm嵌入式设备,但我认为这是一个普通的linux问题。
我正在使用带有“file”选项的linux看门狗守护进程,每隔xx秒左右定期检查我的应用程序更改的时间。这很好,但我注意到,如果系统时间太长,ntp会更新时间,那么看门狗会重新启动。大概是因为它注意到文件上的统计数据已经发生了很大的变化(过去几个月的时间是这样的,所以在修正后就提前了)。
我无法禁用监视程序,因为我启用了nowayout选项,并且为ntp启用了“tinker panic 0”选项,因为它是一个嵌入式设备,可能长时间未连接到网络,或者断电时间超过rtc备份的持续时间。
我想设备会在应用程序调用“utime”修改文件时重新启动。我不确定这是在NTP之前还是之后。在一些设备上,由于看门狗的原因,当时间重新启动并无限期重复时,时间似乎不会永久改变。我以为看门狗在重启前执行的一个操作是更新硬件时间?

最佳答案

是的,这是监管部门的一个巨大弱点。每当操作系统时间的更新量超过文件检查间隔时,文件检查将失败,系统将重新启动。
我所做的是放弃file=检查,改为使用test-binary=。这样,看门狗执行一个脚本,脚本使用单调时钟而不是挂钟来检查文件的更改。

关于linux - Linux看门狗和NTP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49351058/

10-09 00:11