【问题标题】:How systemd (v229) feeds hw watchdogsystemd (v229) 如何提供硬件看门狗
【发布时间】:2017-06-27 07:43:59
【问题描述】:

我在 systemd (RuntimeWatchdogSec=10) 中启用了硬件看门狗,并认为它实际上已启用:

# dmesg | grep watchdog [ 3.328676] systemd[1]: Hardware watchdog 'OMAP Watchdog', version 0 [ 3.336760] systemd[1]: Set hardware watchdog to 10s.

然后我想测试一下systemd停止工作时系统是否真的重新启动。由于我找不到关于哪个 systemd 守护进程为硬件看门狗提供服务的 systemd 文档,我试图一个接一个地杀死所有 systemd 守护进程(systemd-udevd、systemd-timesyncd、systemd-networkd、systemd-journald 等),直到控制台变为在我杀死 systemd 守护程序(在我的系统中有一个符号链接 /sbin/init )后不起作用。直到此时,我的系统仍然没有重新启动。有什么提示吗?

【问题讨论】:

  • 当 systemd 守护进程被杀死时,它会自动重新启动(我也不知道如何)。我实际上将其删除,因此重新启动失败。但是即使 systemd 无法重新启动,系统仍然没有重置。

标签: systemd watchdog


【解决方案1】:

我发现 systemd 守护进程实际上打开了 /dev/watchdog:

# lsof /dev/watchdog COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME systemd 1 root 4w CHR 10,130 0t0 6871 /dev/watchdog

并且在我的内核中没有设置 CONFIG_WATCHDOG_NOWAYOUT --> 当我杀死 systemd 时,没有进程打开 /dev/watchdog 并且硬件看门狗刚刚被禁用。当我启用 CONFIG_WATCHDOG_NOWAYOUT 时,systemd 停止时板会重置。

【讨论】:

  • 你是如何杀死 systemd 的?如果它以 PID 1 运行,它不会死于 SIGKILL。
  • 我做了:#killall init
猜你喜欢
  • 2021-01-04
  • 2013-09-21
  • 1970-01-01
  • 2019-03-15
  • 1970-01-01
  • 2021-03-14
  • 1970-01-01
  • 2012-02-22
  • 1970-01-01
相关资源
最近更新 更多