---
name: "wd_keepalive"
section: "8"
platform: "linux"
package: "watchdog"
version: "5.16-1.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/wd_keepalive"
---

# wd\_keepalive(8)

a simplified software watchdog daemon

## NAME

wd\_keepalive - a simplified software watchdog daemon

## SYNOPSIS

**wd\_keepalive** \[**-c** *filename*\|**--config-file** *filename*\]

## DESCRIPTION

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 */dev/watchdog* is closed correctly, unless your kernel is compiled with the *CONFIG\_WATCHDOG\_NOWAYOUT* option enabled.

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* in the configuration file *watchdog.conf*. This adds real time support to **wd\_keepalive**: 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.

## OPTIONS

Available command line options are the following:

- **-c** *config-file*, **--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!

## FILES

- */dev/watchdog*

  The watchdog device.

- */var/run/wd\_keepalive.pid*

  The pid file of the running **wd\_keepalive**.

## SEE ALSO

[**watchdog.conf**(5)](/watchdog.conf/5.md)

- [**watchdog**(8)](/watchdog/8.md)
