zoukankan      html  css  js  c++  java
  • watchdog

    yes >> /deb/watchdog

    • 禁用代码
    /*
     * Watchdog Driver Test Program
     */
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <unistd.h>
    #include <fcntl.h>
    #include <signal.h>
    #include <sys/ioctl.h>
    #include <linux/types.h>
    #include <linux/watchdog.h>
    
    int fd;
    
    /*
     * This function simply sends an IOCTL to the driver, which in turn ticks
     * the PC Watchdog card to reset its internal timer so it doesn't trigger
     * a computer reset.
     */
    static void keep_alive(void)
    {
        int dummy;
    
        ioctl(fd, WDIOC_KEEPALIVE, &dummy);
    }
    
    /*
     * The main program.  Run the program with "-d" to disable the card,
     * or "-e" to enable the card.
     */
    
    static void term(int sig)
    {
    	int flags = WDIOS_DISABLECARD;
    	ioctl(fd, WDIOC_SETOPTIONS, &flags);
    
        close(fd);
        fprintf(stderr, "Stopping watchdog ticks...
    ");
        exit(0);
    }
    
    int main(int argc, char *argv[])
    {
        int flags;
    
        fd = open("/dev/watchdog", O_WRONLY);
    
        if (fd == -1) {
    	fprintf(stderr, "Watchdog device not enabled.
    ");
    	fflush(stderr);
    	exit(-1);
        }
    
        if (argc > 1) {
    	if (!strncasecmp(argv[1], "-d", 2)) {
    	    flags = WDIOS_DISABLECARD;
    	    ioctl(fd, WDIOC_SETOPTIONS, &flags);
    	    fprintf(stderr, "Watchdog card disabled.
    ");
    	    fflush(stderr);
    	    goto end;
    	} else if (!strncasecmp(argv[1], "-e", 2)) {
    	    flags = WDIOS_ENABLECARD;
    	    ioctl(fd, WDIOC_SETOPTIONS, &flags);
    	    fprintf(stderr, "Watchdog card enabled.
    ");
    	    fflush(stderr);
    	    goto end;
    	} else {
    	    fprintf(stderr, "-d to disable, -e to enable.
    ");
    	    fprintf(stderr, "run by itself to tick the card.
    ");
    	    fflush(stderr);
    	    goto end;
    	}
        } else {
    	fprintf(stderr, "Watchdog Ticking Away!
    ");
    	fflush(stderr);
        }
    
        signal(SIGINT, term);
    
        while(1) {
    	keep_alive();
    	sleep(1);
        }
    end:
        close(fd);
        return 0;
    }
    

      

  • 相关阅读:
    安卓机-华为安装charles证书
    sed替换文件内容
    升级php5.3.10到php5.6.30
    js 判断设备
    element-ui框架富文本编辑器
    git从主分支上拉取新分支以及提交代码、合并到主分支
    前端项目初始化
    vue路由点击第二次时报错
    js 数组sort方法根据数组中对象的某一个属性值进行排序
    去除一个数组中与另一个数组中的相同元素
  • 原文地址:https://www.cnblogs.com/ahuo/p/13787257.html
Copyright © 2011-2022 走看看