# watchdog

用途

自動監控系統的運行狀況，當它發現系統卡在某個工作一直沒辦法跳出時，就會自動將系統重新開機

原理

在硬體上實作一個倒數計時器（countdown timer），當這個計時器數到零時，就會將系統重新開機，而在正常的系統運行時，系統上的軟體會定期重設這個計時器，讓它在正常的狀況下永遠不會數到零（重開機），如果系統發生問題時（當機），軟體就會無法重設這個計時器，最後當計時器數到零的時候，就會自動重新開機了

**一定要用while loop 測, 然後必須把DebugKernel.shtml 全部關掉 只留 watchdog**

Harddog (Select in kernel.config)

Softdog (softdog module)

mknod \\/dev\\/watchdog c 10 130

chmod 600 \\/dev\\/watchdog

modprobe softdog

echo "anything" > \\/dev\\/watchdog

watchdog -c \\/tmp\\/watchdog.conf

$(killall watchdog)

Kernel 如果死定就沒有動

Check Before Testing

Check kernel module : CONFIG\_MAGIC\_SYSRQ

Testing

`echo 1 > /proc/sys/kernel/sysrq # to enable it`

`echo b > /proc/sysrq-trigger #to reboot`

**Unit Test**

Write a fork bomb in bash

`#!/bin/bash````./$0|./$0& #"$0" returns the name of the shell script itself`

Check system reboot in watchdog-timeout : 180 on V-WHG

**About V-WHG brand**

watchdog\_thresh default value is in BaseValue.ini
