gpt4 book ai didi

c - 如何在看门狗重启操作系统之前检测 Linux (Debian) 看门狗守护进程中出现的问题

转载 作者:太空宇宙 更新时间:2023-11-04 10:32:45 24 4
gpt4 key购买 nike

我正在 Debian Linux 上开发一个应用程序项目,该项目涉及软件看门狗,通过服务创建的 PID 文件来监控其他服务。

我正在按照 http://linux.die.net/man/5/watchdog.conf 中的步骤操作并安装它

apt-get 安装看门狗

背后的机制是 watchdog 检查这些 PID 文件是否存在,这些文件在/etc/watchdog,conf 文件中配置。

我已经通过停止任何服务来测试它服务服务名停止

Watchdog 将检测到服务未处于运行状态,因此它会在等于 watchdog 超时时间的几秒后重新启动系统。

考虑到我们有一个显示较少的产品,然后它会在服务的配置文件损坏等情况下无限次地重新启动系统,而不会向最终用户发出任何提示。

实际期望是,在看门狗采取重启/暂停/软重启操作之前,我想知道看门狗的状态,以便程序员可以为最终用户实现通知逻辑。

否则是否可以修改/etc/init.d/中的看门狗初始化脚本以在停止软件看门狗时调用用户程序,以便程序员能够在非 volatile 存储器中维护一个计数器以避免无限次重启。

除了上面我想要更多关于这个软件看门狗或看门狗守护进程的信息以获得状态。我已经实现它来监视服务、CPU 过载、温度等,但在看门狗 Action 之前我没有收到任何事件,因此我不明白为什么系统会因服务中断、CPU 过热或 CPU 过载等而重启。

最佳答案

看门狗被设计为在系统发生无法恢复的故障后拯救系统的最后手段。硬件看门狗将物理重置 CPU,用于确保系统不会长时间挂起。

没有办法收到软件中会发生这种情况的警告,因为假定所有软件都出现故障。

如果您需要一种检测进程不再响应的解决方案,您应该将其与看门狗分开。

有关类似内容,请参阅此问题的答案: Designing a monitor process for monitoring and restarting processes

关于c - 如何在看门狗重启操作系统之前检测 Linux (Debian) 看门狗守护进程中出现的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39055418/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com