当我给出“date -s”命令时,我的系统重新启动。 我收集了日志,并说明了这一点
Jan 18 13:27:46 watchdog[2421]: file /tmp/cmm/strobeWDT was not changed in 1 seconds. Jan 18 13:27:46 watchdog[3303]: shutting down the system because of error 2 Jan 18 13:27:47 watchdog[2421]: stopping daemon (5.2)
我在系统上运行的应用程序写入文件/ tmp / cmm / strobeWDT。 如果无法定期写入文件,则看守程序守护进程会发送重新引导命令。 这是可以理解的。 但是只有当我给“date -s”命令设置一个新的date,系统logging上面的消息并重新启动。
问题在哪里?
我不知道上面的信息是否足以从你身边解决问题。 请帮助
添加更多信息
我正在从file_stat.c中的代码(看守狗守护进程的源代码中的文件)获取上述日志消息,
file_stat.c
#if USE_SYSLOG /* do verbose logging */ if (verbose && logtick && ticker == 1) syslog(LOG_INFO, "file %s was last changed at %s.", file->name, ctime(&buf.st_mtime)); #endif if (time(NULL) - buf.st_mtime > file->parameter.file.mtime) { /* file wasn't changed often enough */ #if USE_SYSLOG syslog(LOG_ERR, "file %s was not changed in %d seconds.", file->name, file->parameter.file.mtime); #else /* USE_SYSLOG */ fprintf(stderr, "file %s was not changed in %d seconds.", file->name, file->parameter.file.mtime); #endif /* USE_SYSLOG */
我认为问题出现在代码的这一部分,因为错误来自这个代码。 parameter.file.mtime在/etc/watchdog.conf中configuration为“change = 1”
所以你要设置运行date -s
。 你是倒计时还是倒计时? 这听起来像当你设置系统date看门狗变得困惑。 时钟跳了起来,然后看门狗说:'嘿,快起来吧,让我们重新启动!'。
解决scheme:不要运行date -s
? 你应该设置并运行ntp,而不是通过使用date -s
来跳转而不是跳转。 例如,下面是一个ntp安装程序 。
我对看门狗并不熟悉,但我想提出一些build议: – 如果你的应用程序失败,你为什么要发送一个重启命令给看门狗? – 你检查看到任何命令date -s
别名? – 你的平均负载是多less?