wd_keepalive - a simplified software watchdog daemon
This is a simplified version of the watchdog
daemon. Unlike the full
watchdog, this daemon run no tests and only serves to keep the hardware timer
refreshed. Typically this is used on system start-up to provide protection
before the services that the full version tests are running, and on shutdown
to continue the refresh while those services are stopped.
If configured so it only opens /dev/watchdog
, and keeps writing to it
often enough to keep the kernel from resetting, at least once per minute. Each
write delays the reboot time another minute. After a minute of inactivity the
watchdog hardware will cause a reset. In the case of the software watchdog the
ability to reboot will depend on the state of the machines and interrupts.
The wd_keepalive daemon can be stopped without causing a reboot if the device
is closed correctly, unless your kernel is compiled with
Under high system load wd_keepalive
might be swapped out of memory and
may fail to make it back in in time. Under these circumstances the Linux
kernel will reset the machine. To make sure you won't get unnecessary reboots
make sure you have the variable realtime
set to yes
configuration file watchdog.conf
. This adds real time support to
: it will lock itself into memory and there should be no
problem even under the highest of loads.
On system running out of memory the kernel will try to free enough memory by
killing process. The wd_keepalive
daemon itself is exempted from this
so-called out-of-memory killer.
Available command line options are the following:
- -c config-file, --config-file
- Use config-file as the configuration file instead of
the default /etc/watchdog.conf.
- -X num, --loop-exit num
- Run for 'num' loops then exit as if SIG_TERM was received.
Intended for test/debug (e.g. using valgrind for checking memory
access). If the daemon exits on a loop counter and you have the
CONFIG_WATCHDOG_NOWAYOUT option compiled for the kernel or
device-driver then an unplanned reboot will follow - be warned!
- The watchdog device.
- The pid file of the running wd_keepalive.