【发布时间】:2016-08-20 14:50:00
【问题描述】:
我正在 Debian Linux 上开发一个应用程序项目,该项目涉及软件看门狗通过服务创建的 PID 文件监控其他服务。
我正在按照http://linux.die.net/man/5/watchdog.conf 的步骤进行操作 并由
安装apt-get 安装看门狗
背后的机制是看门狗检查这些PID文件是否存在,这些PID文件是在/etc/watchdog,conf文件中配置的。
我已经通过停止任何服务来测试它 服务服务名停止
Watchdog 将检测到服务未处于运行状态,因此它会在等于 watchdog 超时时间的几秒钟后重新启动系统。
假设我们有一个显示较少的产品,那么如果服务的配置文件损坏等情况,它将无限次重启系统,而不会向最终用户发出任何提示。
实际期望是,在看门狗对重启/暂停/软重启采取行动之前,我想知道看门狗的状态,以便程序员可以为最终用户实现提示逻辑。
否则可以修改 /etc/init.d/ 中的看门狗初始化脚本以在停止软件看门狗时调用用户程序,以便程序员能够在非易失性存储器中维护一个计数器以避免无限时间重启。
除了上面我想了解更多关于这个软件看门狗或看门狗守护进程的信息。我已经实现了它来监控服务、CPU 过载、温度等,但在看门狗动作之前我没有收到任何事件,因此我不明白为什么系统由于服务关闭、CPU 过热或 CPU 过载等而重新启动。
【问题讨论】:
标签: c linux debian systems-programming