Linux看门狗脚本 1.4】的更多相关文章

近期项目的看门狗经历了三个版本号. 第一个版本号: 用ps -ef,假设程序挂了就启动 第二个版本号: 程序因为执行时会出现不再监听7901port,所以不能简单推断机器是不是挂了,而是推断此port是否有监听 第三个版本号: 当7901port不再监听,就先把原来的killall再启动.每次输出到文件的内容都加日期,要不然根本不知道这事情啥时候发生的 第四个版本号: 使用nohup让程序和监控程序的echo输出到非标准设备而是文件.这样彻底脱离shell,从而退出一个shell的时候真正实现后…
watchdog.sh #!/bin/bash now=`date '+%Y-%m-%d %H:%M:%S'` baseDir=$(cd `dirname $0`; pwd) sleepTime=10 #user=`whoami` user="root" if [ "$user" != "root" ]; then echo "this tool must run as *root*" exit fi if [ ! $# ==…
soft_wdt(下面简称本软件)是一个软件实现的Linux看门狗. 本软件是一款开源.免费软件. 下载地址: https://github.com/sunmingbao/soft-wdt/archive/master.zip 本软件和/drivers/watchdog/softdog.c实现的软件看门狗差点儿一样.     基本的不同点是,前者支持一个看门狗.本软件则支持大量的看门狗.     soft_wdt代码编译后.生成一个内核模块soft_wdt.ko. 模块载入后,将创建一个设备文件…
嵌入式初学者,第一次上传代码.昨天做了一个udhcpd与udhcpc的守护,目前只会用shell模仿编写,还有什么方法可以做守护呢? ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #! /bin/sh #进程名字可修改 PRO_NAME=udhcpc WLAN=ra0    while true ; do    #    用ps获取$PRO_NAME进程数量   NUM=`ps…
1.简介 看门狗的作用是定期检测服务正常运行,如果发现服务不在了,会重新拉起服务:linux中可以利用系统的定时任务功能crontab定期的去执行watchdog.sh脚本,而watchdog.sh脚本中则是通过查看服务的状态,在查找结果字符串中用grep命令去检索是否有running字符串,来判断服务是否正在运行:如果没有,则拉起服务:实现看门狗的功能: ls -al 1> list.txt 2> /dev/null 2表示控制台的错误信息,/dev/null表示垃圾黑洞,相当于垃圾箱,2&…
Intro 当我们编写服务器代码时,为了让自己的服务器在意外崩溃时能够及时的重启,软件看门狗就显示出它的作用了,该看门狗进程是通过fork一个子进程(业务进程),父进程一旦捕获到了子进程的结束信号就重新再fork一个子进程来实现的,下面将完整代码贴上. /************************************************ * 该例程讲解Linux软件看门狗的优雅编写方法 * * 编写WatchDog有很多种方式: * a.一个WatchDog.sh脚本程序 * b.…
转自:http://blog.csdn.net/erickhuang1989/article/details/8721548 在嵌入式系统中,为了使系统在异常情况下能自动恢复,一般都会引入看门狗电路.看门狗电路其实就是一个计数器.当看门狗启动后,计数器开始自动计数,经过一定时间计数器溢出就会对CPU产生一个复位信号使系统重启.系统正常运行时,需要在看门狗允许的时间间隔内对看门狗计数器清零也即喂狗,不让复位信号产生. 当前在带Linux操作系统的嵌入式系统中,由于Linux操作系统加载时间较长(如…
本文转载自:http://blog.chinaunix.net/uid-25014876-id-112879.html linux设备驱动归纳总结(十一):写个简单的看门狗驱动 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 设备驱动的归纳已经差不多了,趁着知识点还没有遗忘,写点代码巩固一下,来个简单的看门狗驱动——静态平台类的杂设备看门狗驱动,有定时和重启两个基本功能.…
  Linux内核有集成WD的选项.将其使能后,系统里就会有watchdog的设备驱动:/dev/watchdog.这样,在应用程序里只需打开这个设备使用即可:#include <fcntl.h>void main(void){    int fdWD;    char chrTmp; fdWD = open("/dev/watchdog", O_RDWR); //设备一打开,看门狗也就出洞了.    for(;;)    {        write(fdWD, &…
一:内核中断 linux内核中的看门狗中断跟之前的裸板的中断差不多,在编写驱动之前,需要线把内核自带的watch dog模块裁剪掉,要不然会出现错误:在Device Drivers /Watchdog Timer Support /S3C2410 Watchdo 在内核中,我们处理一个中断,必须先注册一个中断号,注册中断的函数是: request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags, const cha…