在Linux内核中有三个watchdog(看门狗),它们都需要被悉心的喂养照料,分别是: \1. /dev/watchdog
2.softlockup检测机制
3.hardlockup检测机制
首先看 1./dev/watchdog,此看门狗该怎样喂养呢,linux内核中有一段样例代码:
samples/watchdog/watchdog-simple.c
1// SPDX-License-Identifier: GPL-2.0 2#include <stdio.h> 3#include <stdlib.h> 4#include <unistd.h> 5#include <fcntl.h> 6 7int main(void) 8{ 9 int fd = open("/dev/watchdog", O_WRONLY);10 int ret = 0;11 if (fd == -1) {12 perror("watchdog");13 exit(EXIT_FAILURE);14 } 15 while (1) {16 ret = write(fd, "\0", 1); 17 if (ret != 1) {18 ret = -1; 19 break;20