X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsd_notify.xml;h=fbb882dfd2c0e0c0f177232b6e293c361fa88ee4;hp=d21820f67b815d17f11009a744a1294a88d0cdb0;hb=fb7661a6020b5680d5647d3d85b0501a4f3a5042;hpb=b040723ea412209e0edf54647fa5aa4287411507 diff --git a/man/sd_notify.xml b/man/sd_notify.xml index d21820f67..fbb882dfd 100644 --- a/man/sd_notify.xml +++ b/man/sd_notify.xml @@ -21,7 +21,8 @@ along with systemd; If not, see . --> - + sd_notify @@ -45,7 +46,7 @@ sd_notify sd_notifyf - Notify service manager about start-up completion and other daemon status changes + Notify service manager about start-up completion and other service status changes @@ -69,12 +70,12 @@ Description - sd_notify() shall be called - by a daemon to notify the init system about status - changes. It can be used to send arbitrary information, - encoded in an environment-block-like string. Most - importantly it can be used for start-up completion - notification. + sd_notify() may be called + by a service to notify the service manager about + state changes. It can be used to send arbitrary + information, encoded in an environment-block-like + string. Most importantly it can be used for start-up + completion notification. If the unset_environment parameter is non-zero, sd_notify() @@ -98,58 +99,87 @@ READY=1 - Tells the init system - that daemon startup is finished. This - is only used by systemd if the service - definition file has Type=notify - set. The passed argument is a boolean - "1" or "0". Since there is little + Tells the service + manager that service startup is + finished. This is only used by systemd + if the service definition file has + Type=notify set. Since there is little value in signaling non-readiness, the - only value daemons should send is - "READY=1". + only value services should send is + READY=1 + (i.e. READY=0 is + not defined). + + + + RELOADING=1 + + Tells the service manager + that the service is reloading its + configuration. This is useful to allow + the service manager to track the service's + internal state, and present it to the + user. Note that a service that sends + this notification must also send a + READY=1 + notification when it completed + reloading its + configuration. + + + + STOPPING=1 + + Tells the service manager + that the service is beginning its + shutdown. This is useful to allow the + service manager to track the service's + internal state, and present it to the + user. STATUS=... Passes a single-line - status string back to the init system - that describes the daemon state. This + UTF-8 status string back to the service manager + that describes the service state. This is free-form and can be used for various purposes: general state feedback, fsck-like programs could pass completion percentages and failing programs could pass a human readable error message. Example: - "STATUS=Completed 66% of file system - check..." + STATUS=Completed 66% of file + system + check... ERRNO=... - If a daemon fails, the + If a service fails, the errno-style error code, formatted as - string. Example: "ERRNO=2" for + string. Example: ERRNO=2 for ENOENT. BUSERROR=... - If a daemon fails, the + If a service fails, the D-Bus error-style error code. Example: - "BUSERROR=org.freedesktop.DBus.Error.TimedOut" + BUSERROR=org.freedesktop.DBus.Error.TimedOut MAINPID=... The main pid of the - daemon, in case the init system did + service, in case the service manager did not fork off the process itself. Example: - "MAINPID=4711" + MAINPID=4711 @@ -182,7 +212,7 @@ clashes. Note that systemd will accept status data sent - from a daemon only if the + from a service only if the NotifyAccess= option is correctly set in the service definition file. See systemd.service5 @@ -211,13 +241,7 @@ Notes - These functions are provided by the reference - implementation of APIs for new-style daemons and - distributed with the systemd package. The algorithms - they implement are simple, and can easily be - reimplemented in daemons if it is important to support - this interface without using the reference - implementation. + Internally, these functions send a single datagram with the state string as payload to the @@ -227,31 +251,7 @@ $NOTIFY_SOCKET is @, the string is understood as Linux abstract namespace socket. The datagram is accompanied by the process credentials of - the sending daemon, using SCM_CREDENTIALS. - - For details about the algorithms check the - liberally licensed reference implementation sources: - - and - - sd_notify() and - sd_notifyf() are 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. + the sending service, using SCM_CREDENTIALS. @@ -261,7 +261,7 @@ $NOTIFY_SOCKET - Set by the init system + Set by the service manager for supervised processes for status and start-up completion notification. This environment variable @@ -278,9 +278,9 @@ Start-up Notification - When a daemon finished starting up, it + When a service finished starting up, it might issue the following call to notify - the init system: + the service manager: sd_notify(0, "READY=1"); @@ -288,7 +288,7 @@ Extended Start-up Notification - A daemon could send the following after + A service could send the following after completing initialization: sd_notifyf(0, "READY=1\n" @@ -300,7 +300,7 @@ Error Cause Notification - A daemon could send the following shortly before exiting, on failure + A service could send the following shortly before exiting, on failure sd_notifyf(0, "STATUS=Failed to start up: %s\n" "ERRNO=%i",