X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsd_watchdog_enabled.xml;h=462d7c66176c6a26775eb58416df1c7156ae0152;hb=2a97b03b3b087e724867e7501ae0c1535ee35031;hp=cad92df7af2450cb799058eefd881942ee34feab;hpb=b040723ea412209e0edf54647fa5aa4287411507;p=elogind.git
diff --git a/man/sd_watchdog_enabled.xml b/man/sd_watchdog_enabled.xml
index cad92df7a..462d7c661 100644
--- a/man/sd_watchdog_enabled.xml
+++ b/man/sd_watchdog_enabled.xml
@@ -21,7 +21,8 @@
along with systemd; If not, see .
-->
-
+
sd_watchdog_enabled
@@ -54,7 +55,7 @@
int sd_watchdog_enabled
int unset_environment
- const uint64_t *usec
+ uint64_t *usec
@@ -68,30 +69,37 @@
which the manager will act on the service if it did
not get such a notification.
+ If the $WATCHDOG_USEC
+ environment variable is set, and the
+ $WATCHDOG_PID variable is unset or
+ set to the PID of the current process, the service
+ manager expects notifications from this process. The
+ manager will usually terminate a service when it does
+ not get a notification message within the specified
+ time after startup and after each previous message. It
+ is recommended that a daemon sends a keep-alive
+ notification message to the service manager every half
+ of the time returned here. Notification messages may
+ be sent with
+ sd_notify3
+ with a message string of
+ WATCHDOG=1.
+
If the unset_environment
parameter is non-zero,
sd_watchdog_enabled() will unset
the $WATCHDOG_USEC and
$WATCHDOG_PID environment variables
- before returning (regardless of whether the function call
- itself succeeded or not). Further calls to
- sd_watchdog_enabled() will then
- return with zero, but the variable is no longer
- inherited by child processes.
+ before returning (regardless of whether the function
+ call itself succeeded or not). Those variables are no
+ longer inherited by child processes. Further calls to
+ sd_watchdog_enabled() will also
+ return with zero.
If the usec parameter is
non-NULL, sd_watchdog_enabled()
- will return the timeout in µs for the watchdog
- logic. The service manager will usually terminate a
- service when it did not get a notification message
- within the specified time after startup and after each
- previous message. It is recommended that a daemon
- sends a keep-alive notification message to the service
- manager every half of the time returned
- here. Notification messages may be sent with
- sd_notify3
- with a message string of
- WATCHDOG=1.
+ will write the timeout in µs for the watchdog
+ logic to it.
To enable service supervision with the watchdog
logic, use WatchdogSec= in service
@@ -115,13 +123,7 @@
Notes
- This function is provided by the reference
- implementation of APIs for new-style daemons and
- distributed with the systemd package. The algorithm
- it implements is simple, and can easily be
- reimplemented in daemons if it is important to support
- this interface without using the reference
- implementation.
+
Internally, this functions parses the
$WATCHDOG_PID and
@@ -131,30 +133,6 @@
of the current process, under the assumption that in
that case, the variables were set for a different
process further up the process tree.
-
- For details about the algorithm, check the
- liberally licensed reference implementation sources:
-
- and
-
- sd_watchdog_enabled() is
- implemented in the reference implementation's
- sd-daemon.c and
- sd-daemon.h files. These
- interfaces are available as a shared library, which can
- be compiled and linked to with the
- libsystemd-daemon pkg-config1
- file. Alternatively, applications consuming these APIs
- may copy the implementation into their source
- tree. For more details about the reference
- implementation, see
- sd-daemon3.
-
- If the reference implementation is used as
- drop-in files and -DDISABLE_SYSTEMD is set during
- compilation, these functions will always return 0 and
- otherwise become a NOP.
@@ -184,6 +162,19 @@
+
+ History
+
+ The watchdog functionality and the
+ $WATCHDOG_USEC variable were
+ added in systemd-41.
+
+ sd_watchdog_enabled()
+ function was added in systemd-209. Since that version
+ the $WATCHDOG_PID variable is also
+ set.
+
+
See Also