树莓派(raspberry pi)学习18:设置watchdog,防死机


看门狗,又叫 watchdog,看门狗的作用就是防止程序发生死循环或者说程序跑飞。

硬件看门狗,是一个定时器电路, 一般有一个输入,叫喂狗,每隔一段时间输出一个信号到喂狗端,给 WDT 清零,如果超过规定时间不喂狗(一般在程序跑飞时),定时超过,就会给出一个复位信号,使系统复位. 防止系统死机。


在树莓派上设置看门狗,可实现树莓派在死机时,能够自动重启。


树莓派CPU芯片BCM2708中有硬件看门狗功能。


一、启动硬件看门狗模块

启用模块 bcm2708_wdog

sudo modprobe bcm2708_wdog


编辑/etc/modules,实现启动时自动加载bcm2708_wdog模块

sudo nano /etc/modules

在文件最后一行,添加一行

bcm2708_wdog


启用模块后,则系统增加了一个设备  /dev/watchdog

每10秒必须喂一下这个狗


二、安装watchdog daemon

sudo apt-get install watchdog


启动watchdog 软件

sudo /etc/init.d/watchdog start


编辑 /etc/watchdog.conf 配置文件

sudo nano /etc/watchdog.conf


在文件中有很多预设的定义,初始是都被注释掉了


找到 #watchdog-device = /dev/watchdog   这一行

删掉行首的 # 号

(除了这个外,watchdog.conf还可以定义,如用ping不到某主机则重启等)


重启watchdog 软件

sudo /etc/init.d/watchdog restart



OK了


三、测试

最后,确定没有重要的任务在执行,且已去激活交换分区(swap partition or file)


输入下述命令(forkbomb),测试一下看门狗


: (){ :|:& };:






参考:

http://pi.gadgetoid.co.uk/post/001-who-watches-the-watcher

你可能感兴趣的:(linux,树莓派,raspberry,pi)