Linux Watchdog Test Program

/***********************************************************************
 *                  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);
    }
}

 

时间: 2024-09-23 12:05:26

Linux Watchdog Test Program的相关文章

linux watchdog demo hacking

/********************************************************************** * linux watchdog demo hacking * 说明: * 本文主要解析linux watchdog大概应该如何操作. * * 2016-3-28 深圳 南山平山村 曾剑锋 *********************************************************************/ #include <st

Linux 软件看门狗 watchdog使用介绍_C 语言

背景: root@119.10.6.23:/usr/local/php# ps aux|grep watchdog root 6 0.0 0.0 0 0 ? S Aug28 4:50 [watchdog/0] root 10 0.0 0.0 0 0 ? S Aug28 4:11 [watchdog/1] root 14 0.0 0.0 0 0 ? S Aug28 3:58 [watchdog/2] root 18 0.0 0.0 0 0 ? S Aug28 3:36 [watchdog/3] 附

《Ubuntu Linux 从入门到精通》——6.2 挂载与卸载分区

6.2 挂载与卸载分区 学习了Ubuntu的磁盘管理基础知识后,本节讲解挂载及卸载包括磁盘在内的各种常见设备的方法,这些方法主要涉及shell命令中的mount和umount两个命令的使用. 6.2.1 挂载与卸载分区的方法 1.挂载的基础知识 通过对前一节的学习,读者已经认识到在Ubuntu中,所谓分区的概念,其实就是挂载点的含义.在Ubuntu中,可以将所有的设备都看作是一个文件,要使用某个设备或某个文件之前,都必须先将其挂载到系统中.挂载的含义就是把磁盘的内容放到某一个目录下.本小节介绍常

Linux下用nc实现DuplexPipe

nc 是一把网络的瑞士军刀,我以前在介绍 DuplexPipe 时也提到过,如果你没接触过它,可以先参看一下<DuplexPipe二三事(二)>.再来简单地介绍一下 DuplexPipe,顾名思义,它是一个"双向管道".在 shell 中,我们通过"|"使用匿名管道,让前一条命令的输出作为后一条命令的输入:双向管道即在此基础上在加上"后一条命令的输入作为前一条命令的输入".这是最初开发它的原因,但后来发现它更像是一个网络接口转换器,&

Qt 控制watchdog app hacking

/************************************************************************** * Qt 控制watchdog app hacking * 声明: * 本文主要是为了查看之前朋友留下的Qt控制watchdog软件运作机制. * * 2015-12-31 深圳 南山平山村 曾剑锋 *************************************************************************/

C++实现的分布式游戏服务端引擎KBEngine详解_C 语言

KBEngine 是一款开源的游戏服务端引擎,使用简单的约定协议就能够使客户端与服务端进行交互, 使用KBEngine插件能够快速与(Unity3D, OGRE, Cocos2d, HTML5, 等等)技术结合形成一个完整的客户端. 服务端底层框架使用c++编写,游戏逻辑层使用Python(支持热更新),开发者无需重复的实现一些游戏服务端通用的底层技术, 将精力真正集中到游戏开发层面上来,快速的打造各种网络游戏. (经常被问到承载上限,kbengine底层架构被设计为多进程分布式动态负载均衡方案

magento -- 1.4下的计划任务(cron job)

  On some points, Magento needs regular maintenance. For instance, when running a shop of which the products are updated frequently, it is needed to refresh catalog indices. Also the search-index might need regular updating. To accomplish these tasks

windows中修改catalina.sh上传到linux执行报错This file is needed to run this program

一.发现问题 由于tomcat内存溢出,在windows下修改了catalina.sh,然后通过ssh传到linux服务器上,执行catalina.sh时出现如下错误: Cannot find ./catalina.sh    This file is needed to run this program   二.尝试解决 使用sh catalina.sh命令执行,结果没有设置javahome,然后在catalina.sh里面添加:JAVA_HOME=/usr/lib/jvm/jdk1.5.0_

Linux高可用性方案之Heartbeat的watchdog配置(原创) 编辑

Watchdog概述  在日常使用heartbeat接管资源的应用中,由于heartbeat无法对操作系统自身出现的问题进行监控.如果主节点操作系统挂起,一方面可能导致服务中断,另一方面由于主节点资源无法释放,而备份节点却接管了主节点的资源,此时就发生了两个节点同时争用一个资源的状况. 针对这个问题,就需要在Linux内核中启用一个叫watchdog的模块.watchdog是一个Linux内核模块,它通过定时向/dev/watchdog设备文件执行写操作,从而确定系统是否正常运行.如果watch