如果在启动时启动,软件看门狗会导致系统重启

Software watchdog causing system reboot if started at bootup

在我的设备中,我启用了软件 watchdog to monitor a file which is updated every 5 second by a application. I have configured 软件看门狗,如下所示

file = /data/file_name_to_watch
change = 10

看门狗在启动时使用以下命令启动在启动期间:

/usr/sbin/watchdog.sh -f -v -c watchdog.conf 

负责更新文件的应用程序(file_name_to_watch)在启动期间在看门狗守护进程之后启动。应用程序每 5 秒更新一次被看门狗监视的文件。

问题是如果 watchdog 在启动时启动它会重新启动系统,而当 watchdog 在启动时未启动但在应用程序启动后手动启动时不存在同样的问题启动。

dmesg shows "Watchdog did not stop"

此外,将看门狗配置文件更改为以下内容也没有帮助。

  file = /data/file_name_to_watch
  change = 20

我检查过在启动期间启动看门狗后 10 秒内文件正在更新。

任何调试此问题的指示将不胜感激。

我用于看门狗的代码:https://layers.openembedded.org/layerindex/recipe/122/

调试发现问题是time(NULL)在src/file_stat.c中返回了一个巨大的数字

发生这种情况是因为在启动期间没有很早地设置日期。