欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

linux watchdog看门狗编程

程序员文章站 2022-07-12 10:19:20
...

说明

由于防止linux系统下程序突然意外终止或是陷入死循环等情况,启用看门狗机制,出现问题的时候机器重启。

初始化看门狗

查看liux系统下是否有 /dev/watchdog控制句柄

ls /dev/watchdog

代码段

int fd = open("/dev/watchdog", O_WRONLY);
if(fd == -1){
    printf("open watchdog error \n\n\n");
    return false;
}
int timeout;
timeout = 15;
ioctl(fd, WDIOC_SETTIMEOUT, &timeout); //设置超时
printf("The timeout was set to %d seconds\n", timeout);

喂狗

ioctl(this->fd, WDIOC_KEEPALIVE);

使用定时的方式运行以上语句,延时时间必须小于超时时间。