【问题标题】:Watchdog for a single process [Linux] [duplicate]单个进程的看门狗 [Linux] [重复]
【发布时间】:2016-12-07 13:14:05
【问题描述】:

我需要确保选定的进程没有挂起。我想我会编程这个过程来写入一些 /proc 文件,该文件将被其他一些进程/模块定期监视。如果文件在一段时间内没有变化,应用程序将被视为挂起。就像加州大学的看门狗一样。

但是我不知道这是否是最好的方法。由于我对深入的 Linux 工程不太感兴趣,所以我认为在开始学习编写模块、/proc 文件系统等之前最好先问一下哪种方式最简单。哈!

我找到了一些关于 Monit (https://mmonit.com/monit/) 的信息。也许这样会更好?

您会推荐哪种方式来实现此处的“看门狗”功能?

非常感谢!

帕维尔

【问题讨论】:

  • 使用的是哪个初始化系统?
  • 我使用 BusyBox init,它不支持运行级别。我没有 /etc/rc* 条目,但运行 init.d 脚本。这是为了回答你的问题,@FrankMeerkötter,但 Felipe Lavratti 帮助我已经找到了解决方案。谢谢!

标签: linux embedded embedded-linux proc watchdog


【解决方案1】:

独立于操作系统的解决方案是创建一个定期运行并支持一个或多个软件看门狗的看门狗线程,这些看门狗只是简单地实现为状态位或字节。有问题的进程负责拍看门狗(清除状态)。看门狗线程是一个检查状态的循环。如果它已被清除,它会设置它。如果没有被清除,它会报警。您可以调整时间,使每次循环都不会检查状态。

这个解决方案非常灵活。你也可以将它绑定到硬件看门狗,只有在所有软件看门狗都被拍过的情况下才会拍下硬件看门狗。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-04
    相关资源
    最近更新 更多