linux简单易用的看门狗程序

    看门狗程序是通过“喂狗”的形式不停的给watchdog写入数据,一旦在一定的时间内没有写入,watchdog就会认为程序发生了崩溃,它能够直接出发芯片复位,让linux系统进行重启。在实际的项目中具有重要的作用。

    本文讲解linux中标准的看门狗程序,标准指的是设备号为/dev/watchdog,程序如下:

void feed_watchdog()
{
	int wd_fd;	 
	wd_fd = open("/dev/watchdog",O_RDWR);
	if(wd_fd < 0)  
	{  
		printf("wd open failed\n");  
		return;
	}
	int timeout = 20;

    ioctl(wd_fd, WDIOC_SETOPTIONS, WDIOS_ENABLECARD);
    ioctl(wd_fd, WDIOC_SETTIMEOUT, &timeout);
	
	while(1)
	{
		sleep(10);
		ioctl(wd_fd,WDIOC_KEEPALIVE,NULL);
	}
	close(wd_fd);
    
}

ioctl(wd_fd, WDIOC_SETOPTIONS, WDIOS_ENABLECARD)是使能watchdog。

ioctl(wd_fd, WDIOC_SETTIMEOUT, &timeout),设置喂狗时间


你可能感兴趣的:(linux)