/*********************************************************************** * Linux Watchdog Test Program * 说明: * 由于之前的reset一直没有得到解决,所以这个Watchdog功能一直没有处理, * 现在问题解决了,于是需要加入这个测试程序。 * * 2016-4-15 深圳 南山平山村 曾剑锋 **********************************************************************/ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <fcntl.h> #include <sys/ioctl.h> #include <linux/types.h> #include <linux/watchdog.h> // watchdog 只要一直打开设备节点不喂,然后等待设定的时间结束引发reset。 int main(void) { int fd; fd = open("/dev/watchdog", O_WRONLY); if (fd == -1) { fprintf(stderr, "Watchdog device not enabled.\n"); fflush(stderr); exit(-1); } int timeout = 5; ioctl(fd, WDIOC_SETTIMEOUT, &timeout); printf("The timeout was set to %d seconds\n", timeout); int timeleft = timeout; while((timeleft--) >= 0) { printf("The timeout left %d seconds\n", timeleft); sleep(1); } }