watchdogd v3.0
This release includes major changes to both the build system and the watchdogd
command line interface, making it incompatible with previous versions. Therefore the major version number has been bumped.
Application writes can now ask pkg-config
for CFLAGS
and LIBS
to use the process supervisor interface in libwdog.so
Reset cause is now queried and saved in /var/lib/watchdogd.state
at boot. Use the new watchdogctl
tool to interact with and query status from the daemon.
A configuration file, /etc/watchdogd.conf
, with many more options for the health monitor plugins, the process supervisor, and the reset cause.
Changes
- A configuration file,
/etc/watchdogd.conf
, has been added - A new tool,
watchdogctl
, to interact with daemon has been added - New official Watch Dog Detective logo, courtesy of Ron Leishman, licensed for use with the watchdogd project
- New or updated manual pages for daemon, ctrl tool, and the .conf file
- Health monitor plugins now support running external script instead of default reboot action
- Health monitor plugins no longer need critical/reboot level set, only warning is required to enable a monitor
- Completely overhauled
watchdogd
command line options and arguments. Some options in previous releases were not options but optional arguments, while others were useless options for a daemon:- Watchdog device node is now an argument not a
-d
option - No more
--logfile=FILE
option, redirectstderr
instead -n
now prevents the daemon from forking to the background-f
is now used by the--config
file option- When running in the foreground, output syslog also to
stderr
, unless the-s
, or--syslog
, option is given -l, --loglevel
replaces--verbose
option- Use BusyBox options
-T
and-t
for WDT timeout and kick, this replaces the previous-w
and-k
options
- Watchdog device node is now an argument not a
- No more support for attaching an external supervisor process using
SIGUSR1
andSIGUSR2
- Conversion to GNU Configure and Build system
- Native support for building Debian packages
- Default install prefix changed, from
/usr/local
to/
- Added
pkg-config
support tolibwdog
- Save reset cause in
/var/lib/watchdogd.state
, by default disabled enable with the .conf file - Possible to disble default reset cause backend and plug in your own. See
src/rc.h
for the API required of your own backend - Updates to
libwdog
API, including a compatiblity mode for current customer(s) usingwatchdogd
2.0 with a supervisor patch - Added
libwdog
example clients - Added customer specific compat
/var/run/supervisor.status
- Support for delayed reboot in user API,
wdog_reset_timeout()
- Fully integrated with Finit, PID 1. Both
reboot(1)
and reset viawatchdogd
, e.g.watchdogctl reset
, is delegated via Finit to properly shut down the system, sync and unmount all file systems before delegating the actual reset to the WDT.