说明

由于防止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);

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

转载于:https://www.cnblogs.com/QUSIR/p/7469744.html

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐