使用/dev/watchdog 似乎只对监视另一个进程有效,因为在编译内核时如果没有设置 CONFIG_WATCHDOG_NOWAYOUT 选项,监视/看门狗进程崩溃将导致操作系统清理并关闭文件。从而阻止看门狗。
当然,有许多类型的崩溃和故障都可以从无路可退的选项中受益。
如果我无法控制正在使用的内核(即我无法更改为配置了 no way out 选项的内核),是否有一种方法可以在运行时切换/dev/的行为看门狗没有出路吗?
最佳答案
您可以通过nowayout=0
或nowayout=1
作为模块参数,它将覆盖为 CONFIG_WATCHDOG_NOWAYOUT
编译的值.
在诸如/etc/modprobe.d/watchdog.conf
之类的文件中:
options softdog nowayout=1
...替换softdog
与实际使用的看门狗驱动程序不同,它应该是不同的。
或者,您的内核可能编译了看门狗支持。如果是这种情况,您可以输入 <modulename>.<option>=<value>
在引导加载程序配置中的内核命令行上,如下所示:
softdog.nowayout=1
也就是说,对于许多驱动程序来说这是不必要的,因为那些支持“magic close”的驱动程序不会重置,除非驱动程序写入 V
关闭文件之前的字符,这样无意的崩溃或关闭不会阻止看门狗触发重新启动。
关于Linux 看门狗 - 在运行时更改无路可走配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25247317/