吃饭搞钱
一,什么是wdctl
https://man.he.net/man8/wdctl
wdctl - 显示硬件看门狗状态
显示硬件看门狗状态。默认设备为 /dev/watchdog。如果指定了多个设备,则输出之间用一个空行分隔。
如果设备已被使用,或者用户没有读取该设备的权限,那么 wdctl 会从 sysfs 读取数据。在这种情况下,有关支持的功能(标志)的信息可能会缺失。
请注意,支持的看门狗功能数量取决于硬件。
二,参数
[root@master1 ~]# wdctl -h用法: wdctl [选项] [<设备> ...]选项: -f, --flags <list> 仅打印指定的标志 -F, --noflags 不要打印有关标志的信息 -I, --noident 不要打印看门狗身份信息 -n, --noheadings 不要为标志表打印标题 -O, --oneline 将所有信息打印在一行上 -o, --output <list> 标志的输出列 -r, --raw 为标志表使用原始输出格式 -T, --notimeouts 不要打印看门狗超时 -s, --settimeout <sec> 设置看门狗超时 -x, --flags-only 仅打印标志表(与-I -T相同) -h, --help 显示此帮助并退出 -V, --version 输出版本信息并退出The default device is /dev/watchdog.可用的列: FLAG 标志名称 DESCRIPTION 标志描述 STATUS 标志状态 BOOT-STATUS 标志启动状态 DEVICE 看门狗设备名称更多信息请参阅 wdctl(8)。
三,例子
1、查看默认看门狗设备信息
[root@master1 ~]# wdctlwdctl: 打不开 /dev/watchdog: 没有那个文件或目录#没有硬件,可以加载软件[root@master1 ~]# lsmod | grep watchdog [root@master1 ~]# modprobe watchdogmodprobe: FATAL: Module watchdog not found.[root@master1 ~]# modprobe softdog[root@master1 ~]# wdctl设备: /dev/watchdog标识: Software Watchdog [版本: 0]超时: 60 秒Pre-timeout: 0 秒FLAG DESCRIPTION STATUS BOOT-STATUSKEEPALIVEPING Keep alive ping reply 1 0MAGICCLOSE Supports magic close char 0 0SETTIMEOUT Set timeout (in seconds) 0 0
1. 设备信息
2. 超时设置
3. 功能标志(FLAGS)
KEEPALIVEPING- 系统需定期向
/dev/watchdog 写入数据(如通过 watchdog 服务或脚本),否则会触发复位。
MAGICCLOSE- 某些硬件看门狗允许通过写入特定字符(如
V)安全关闭看门狗,避免误触发复位。 - 此处为
0,说明无法通过特殊字符关闭,需谨慎操作。
SETTIMEOUT- 硬件看门狗可能允许运行时调整超时(如从
60s 改为 30s),但此软件看门狗不支持。
4. BOOT-STATUS 列
- 所有标志的
BOOT-STATUS 均为 0,表示这些功能在系统启动时未被激活或未检测到异常。 - 如果是硬件看门狗,此列可能显示启动时的状态(如是否因超时触发过复位)。
2、指定看门狗设备(如 /dev/watchdog0)[root@master1 ~]# wdctl /dev/watchdog0设备: /dev/watchdog0标识: Software Watchdog [版本: 0]超时: 60 秒Pre-timeout: 0 秒FLAG DESCRIPTION STATUS BOOT-STATUSKEEPALIVEPING Keep alive ping reply 1 0MAGICCLOSE Supports magic close char 0 0SETTIMEOUT Set timeout (in seconds) 0 0[root@master1 ~]# wdctl /dev/watchdog1wdctl: 打不开 /dev/watchdog1: 没有那个文件或目录
3、仅显示标志(flags)表,不显示身份和超时信息[root@master1 ~]# wdctl -xFLAG DESCRIPTION STATUS BOOT-STATUSKEEPALIVEPING Keep alive ping reply 1 0MAGICCLOSE Supports magic close char 0 0SETTIMEOUT Set timeout (in seconds) 0 0[root@master1 ~]# wdctl --flags-onlyFLAG DESCRIPTION STATUS BOOT-STATUSKEEPALIVEPING Keep alive ping reply 1 0MAGICCLOSE Supports magic close char 0 0SETTIMEOUT Set timeout (in seconds) 0 0
[root@master1 ~]# wdctl -O/dev/watchdog: VERSION="0" IDENTITY="Software Watchdog" TIMEOUT="60" PRETIMEOUT="0" KEEPALIVEPING="1" KEEPALIVEPING_BOOT="0" MAGICCLOSE="0" MAGICCLOSE_BOOT="0" SETTIMEOUT="0" SETTIMEOUT_BOOT="0"[root@master1 ~]# wdctl --oneline/dev/watchdog: VERSION="0" IDENTITY="Software Watchdog" TIMEOUT="60" PRETIMEOUT="0" KEEPALIVEPING="1" KEEPALIVEPING_BOOT="0" MAGICCLOSE="0" MAGICCLOSE_BOOT="0" SETTIMEOUT="0" SETTIMEOUT_BOOT="0"
5、只输出特定列(例如只看 FLAG 和 STATUS)[root@master1 ~]# wdctl -o FLAG,STATUS设备: /dev/watchdog标识: Software Watchdog [版本: 0]超时: 60 秒Pre-timeout: 0 秒FLAG STATUSKEEPALIVEPING 1MAGICCLOSE 0SETTIMEOUT 0
[root@master1 ~]# wdctl -s 30Set timeout to 30 seconds设备: /dev/watchdog标识: Software Watchdog [版本: 0]超时: 30 秒Pre-timeout: 0 秒FLAG DESCRIPTION STATUS BOOT-STATUSKEEPALIVEPING Keep alive ping reply 1 0MAGICCLOSE Supports magic close char 0 0SETTIMEOUT Set timeout (in seconds) 0 0
[root@master1 ~]# wdctl -x -nKEEPALIVEPING Keep alive ping reply 1 0MAGICCLOSE Supports magic close char 0 0SETTIMEOUT Set timeout (in seconds) 0 0[root@master1 ~]# wdctl -n设备: /dev/watchdog标识: Software Watchdog [版本: 0]超时: 30 秒Pre-timeout: 0 秒KEEPALIVEPING Keep alive ping reply 1 0MAGICCLOSE Supports magic close char 0 0SETTIMEOUT Set timeout (in seconds) 0 0
[root@master1 ~]# wdctl -r设备: /dev/watchdog标识: Software Watchdog [版本: 0]超时: 30 秒Pre-timeout: 0 秒FLAG DESCRIPTION STATUS BOOT-STATUSKEEPALIVEPING Keep\x20alive\x20ping\x20reply 1 0MAGICCLOSE Supports\x20magic\x20close\x20char 0 0SETTIMEOUT Set\x20timeout\x20(in\x20seconds) 0 0
四,补充
作者
Karel Zak mailto:kzak@redhat.com,Lennart Poettering mailto:lennart@poettering.net
报告错误
如需报告错误,请使用问题跟踪器:
https://github.com/karelzak/util-linux/issues
可用性
wdctl 命令是 util-linux 软件包的一部分,可从 Linux 内核存档处下载:
https://www.kernel.org/pub/linux/utils/util-linux/
五,总结
wdctl 是用于查看和配置 Linux 看门狗设备状态与超时设置的命令行工具,可以是查硬件,也可以是查软件,应用场景不算广泛同时也很有用。
最后的最后(Last but not least),欢迎交流:
关注公众号留言,或者在下方直接留言: