查看: 4331|回复: 3
收起左侧

树莓派学习18:设置watchdog,防死机

2013-5-19 10:30:33 | 显示全部楼层 |阅读模式

看门狗,又叫 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),测试一下看门狗

  1. <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>
复制代码


回复

使用道具 举报

2013-5-19 13:49:10 | 显示全部楼层
相当不错的教程 我以前都是自己写脚本的
回复 支持 反对

使用道具 举报

2013-6-2 05:42:53 | 显示全部楼层
可玩行很高啊
回复 支持 反对

使用道具 举报

2013-9-4 09:04:40 | 显示全部楼层
这个功能很好。我在玩transmission的时候经常死机,不知道这个狗行不行,回头试试看。另外lz,在conf文件中只要反注释/dev/watchdog就可以了吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注我们,了解更多

官方微信

服务时间:10:00-16:00

13714503811

公司地址:深圳市龙岗区南湾街道东门头路8号

Copyright © 2012-2020 Powered by 树莓派论坛 2019.4  粤ICP备15075382号-1
快速回复 返回列表 返回顶部