首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何验证节点重新启动是否由看门狗触发?

如何验证节点重新启动是否由看门狗触发?
EN

Unix & Linux用户
提问于 2022-07-12 21:07:20
回答 1查看 697关注 0票数 0

我使用命令创建了软件监视设备:

$ sudo modprobe softdog soft_margin=60

在OS日志中,可以看到初始化了软件监视狗:

Jul 12 09:49:00 patroni4 kernel: softdog: Software Watchdog Timer: 0.08 initialized. soft_noboot=0 soft_margin=60 sec soft_panic=0 (nowayout=0)

为了触发看门狗重新启动节点,我执行了echo a | sudo tee /dev/watchdog

节点重新启动,但在日志中没有任何信息表明,重启是由看门狗触发的。如果我在OS日志中设置了选项soft_noboot=1,就会有消息softdog: Triggered - Reboot ignored

在看门狗触发节点重新启动时,应该根据看门狗实现日志消息。https://github.com/spacex/kernel-centos7/blob/master/drivers/watchdog/softdog.c

代码语言:javascript
复制
static void watchdog_fire(unsigned long data)
{
    if (soft_noboot)
        pr_crit("Triggered - Reboot ignored\n");
    else if (soft_panic) {
        pr_crit("Initiating panic\n");
        panic("Software Watchdog Timer expired");
    } else {
        pr_crit("Initiating system reboot\n");
        emergency_restart();
        pr_crit("Reboot didn't ?????\n");
    }
}

操作系统: CentOS Linux发行版7.9.2009 (核心) Linux lin1 3.10.0-1160.62.1.el7.x86_64

如何验证是否由看门狗触发了重新引导?为什么没有记录此信息?我可以以某种方式启用日志吗?

谢谢你提供的信息

EN

回答 1

Unix & Linux用户

发布于 2022-07-12 22:42:55

根据您的看门狗,您可以请求它的最后一个日志,或者只是创建一个标志文件与当前时间戳,然后重新启动。

您始终可以通过命令last rebootlast reboot -n1从操作系统请求上一次启动时间。

现在,您只需要比较这两种时间戳--如果看门狗的时间戳和引导时间之间的差异足以重新启动--答案是肯定的。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/709624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档