package daemon

import "github.com/coreos/go-systemd/v22/daemon"

Package daemon provides a Go implementation of the sd_notify protocol. It can be used to inform systemd of service start-up completion, watchdog events, and other status changes.

https://www.freedesktop.org/software/systemd/man/sd_notify.html#Description

Index

Constants

const (
	// SdNotifyReady tells the service manager that service startup is finished
	// or the service finished loading its configuration.
	SdNotifyReady = "READY=1"

	// SdNotifyStopping tells the service manager that the service is beginning
	// its shutdown.
	SdNotifyStopping = "STOPPING=1"

	// SdNotifyReloading tells the service manager that this service is
	// reloading its configuration. Note that you must call SdNotifyReady when
	// it completed reloading.
	SdNotifyReloading = "RELOADING=1"

	// SdNotifyWatchdog tells the service manager to update the watchdog
	// timestamp for the service.
	SdNotifyWatchdog = "WATCHDOG=1"
)

Functions

func SdNotify

func SdNotify(unsetEnvironment bool, state string) (bool, error)

SdNotify sends a message to the init daemon. It is common to ignore the error. If `unsetEnvironment` is true, the environment variable `NOTIFY_SOCKET` will be unconditionally unset.

It returns one of the following: (false, nil) - notification not supported (i.e. NOTIFY_SOCKET is unset) (false, err) - notification supported, but failure happened (e.g. error connecting to NOTIFY_SOCKET or while sending data) (true, nil) - notification supported, data has been sent

func SdWatchdogEnabled

func SdWatchdogEnabled(unsetEnvironment bool) (time.Duration, error)

SdWatchdogEnabled returns watchdog information for a service. Processes should call daemon.SdNotify(false, daemon.SdNotifyWatchdog) every time / 2. If `unsetEnvironment` is true, the environment variables `WATCHDOG_USEC` and `WATCHDOG_PID` will be unconditionally unset.

It returns one of the following: (0, nil) - watchdog isn't enabled or we aren't the watched PID. (0, err) - an error happened (e.g. error converting time). (time, nil) - watchdog is enabled and we can send ping.

time is delay before inactive service will be killed.

Source Files

sdnotify.go watchdog.go

Version
v22.3.2
Published
May 3, 2021
Platform
js/wasm
Imports
5 packages
Last checked
1 minute ago

Tools for package owners.