看门狗,又叫 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),测试一下看门狗 - <span class="pun">:</span><span class="pln"> </span><span class="pun">(){</span><span class="pln"> </span><span class="pun">:|:&</span><span class="pln"> </span><span class="pun">};:</span>
复制代码
|