关于实现一个软件看门狗的计划

由于是软件看门狗,因此他的角色只能算是个辅助工具。

尽管如此,他的功能应该还是有点意义。

此软件的实现计划如下:

1. 软件形式

一个模块soft_wdt.ko,运行在内核中。

2. 软件启动方法

insmod  soft_wdt.ko  dev=/dev/soft_wdt   timeout=5   log=/path/to/log.txt

几个参数分别是:要暴露给用户的设备文件,喂狗时间间隔,日志文件路径

未来可能会支持更多的参数

3. 服务对象

一个个独立的用户态线程。

4. 使用方法

哪个线程,需要看门口服务,打开设备文件,例如/dev/soft_wdt。定时向/dev/soft_wdt写入数据即可。

线程可以写入特殊的数据,例如,设置线程的名称,设置时间间隔等。

如果任何一个线程,长时间没有喂狗,则soft_wdt.ko会记录下日志(包括可执行程序名称,线程名称,时间间隔等),然后重启系统。

5. 开发测试平台

利用手头的一块arm单板,以及相应的软件系统,包括内核源码,交叉编译工具链等。

时间: 2024-10-11 03:59:14

关于实现一个软件看门狗的计划的相关文章

软件看门狗--别让你地程序无响应(使用未公开API函数IsHungAppWindow,知识点较全)

正文一.概述一些重要的程序,必须让它一直跑着:而且还要时时关心它的状态——不能让它出现死锁现象.当然,如果一个主程序会出现死锁,肯定是设计或者编程上的失误.我们首要做的事是,把这个Bug揪出来.但如果时间紧迫,这个Bug又“飘忽不定”,那么,我们还是先写一个软件“看门狗”,暂时应一下急吧. “看门狗”的需求描述:“看门狗”的运行不出现界面窗口,具有一定的隐蔽性:定时判断目标进程是否运行在当前系统中,如果没有则启动目标进程:判断目标进程是否“没有响应”,如果是则终止目标进程:如果目标进程“没有响应

Linux 软件看门狗 watchdog —— 开门放狗、定期喂狗、狗咬人了

Linux 自带了一个 watchdog 的实现,用于监视系统的运行,包括一个内核 watchdog module 和一个用户空间的 watchdog 程序. 内核 watchdog 模块通过 /dev/watchdog 这个字符设备与用户空间通信.用户空间程序一旦打开 /dev/watchdog 设备(俗称“开门放狗”),就会导致在内核中启动一个1分钟的定时器(系统默认时间),此后,用户空间程序需要保证在1分钟之内向这个设备写入数据(俗称“定期喂狗”),每次写操作会导致重新设定定时器.如果用户

bash脚本之软件看门狗示例

#!/bin/sh # file timestamp to record the heartbeat of spring-rest-server timestamp=/usr/apache-tomcat-7.0.42/logs/timestamp.log # timeout 60s timeout=60000 # error log stderr=/usr/apache-tomcat-7.0.42/logs/tomcat-watchdog.log # 1 means need to restar

Linux 软件看门狗 watchdog

Linux 自带了一个 watchdog 的实现,用于监视系统的运行,包括一个内核 watchdog module 和一个用户空间的 watchdog 程序.内核 watchdog 模块通过 /dev/watchdog 这个字符设备与用户空间通信.用户空间程序一旦打开 /dev/watchdog 设备(俗称"开门放狗"),就会导致在内核中启动一个1分钟的定时器(系统默认时间),此后,用户空间程序需要保证在1分钟之内向这个设备写入数据(俗称"定期喂狗"),每次写操作会

Linux 软件看门狗 watchdog 喂狗

Linux 自带了一个 watchdog 的实现,用于监视系统的运行,包括一个内核 watchdog module 和一个用户空间的 watchdog程序.内核 watchdog 模块通过 /dev/watchdog 这个字符设备与用户空间通信.用户空间程序一旦打开 /dev/watchdog 设备(俗称"开门放狗"),就会导致在内核中启动一个1分钟的定时器(系统默认时间),此后,用户空间程序需要保证在1分钟之内向这个设备写入数据(俗称"定期喂狗"),每次写操作会导

看门狗 (监控芯片)

在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成各种寄存器和内存的数据混乱,会导致程序指针错误,不在程序区,取出错误的程序指令等,都有可能会陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续正常工作,导致整个系统的陷入停滞状态,发生不可预料的后果. 看门狗,又叫 watchdog,从本质上来说就是一个定时器电路,一般有一个输入和一个输出,其中输入叫做喂狗,输出一般连接到另外一个部分的复位端,一般是连接到单片机. 看门狗的功能是定期的查看芯片内部的情

一个软件实现的Linux看门狗—soft_wdt

soft_wdt(下面简称本软件)是一个软件实现的Linux看门狗. 本软件是一款开源.免费软件. 下载地址: https://github.com/sunmingbao/soft-wdt/archive/master.zip 本软件和/drivers/watchdog/softdog.c实现的软件看门狗差点儿一样. 基本的不同点是,前者支持一个看门狗.本软件则支持大量的看门狗. soft_wdt代码编译后.生成一个内核模块soft_wdt.ko. 模块载入后,将创建一个设备文件/dev/sof

linux之软看门狗的实现

//softwareWdt.h /* *功能: 监测各线程间的运行状态(软看门狗) * *作者:JDSH * *时间:2015-01-15 22:20 */ #include <stdlib.h> #include <stdio.h> #include <string.h> #include <unistd.h> #include "Typedef.h" #define REQUEST_WDT_MAX_NUM 20 class CSoft

树莓派 Raspbian 软件源更改 看门狗启用

1.替换脚本 下面脚本请直接复制到终端执行!! 适用于raspbian-stretch(基于Debian9) sudo -s echo -e "deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi \n deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi&quo