From Fedora Project Wiki

< User:Johannbg‎ | QA/Systemd

Revision as of 11:27, 22 July 2010 by Johannbg (talk | contribs) (→‎Example)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Name

systemd-notify — Notify init system about start-up completion and other daemon status changes

Synopsis

systemd-notify [OPTIONS...] [VARIABLE=VALUE...]

Description

systemd-notify may be called by daemon scripts to notify the init system about status changes. It can be used to send arbitrary information, encoded in an environment-block-like list of strings. Most importantly it can be used for start-up completion notification.

This is mostly just a wrapper around sd_notify() and makes this functionality available to shell scripts. For details see sd_notify(3).

The command line may carry a list of environment variables to send as part of the status update.

Note that systemd will refuse reception of status updates from this command unless NotifyAccess=all is set for the service unit this command is called from.

Options

The following options are understood:

--h, --help

Prints a short help text and exits.

--ready

Inform the init system about service start-up completion. This is equivalent to systemd-notify READY=1. For details about the semantics of this option see sd_notify(3).

--pid=

Inform the init system about the main PID of the daemon. Takes a PID as argument. If the argument is omitted the PID of the process that invoked systemd-notify is used. This is equivalent to systemd-notify MAINPID=$PID. For details about the semantics of this option see sd_notify(3).

--status=

Send a free-form status string for the daemon to the init systemd. This option takes the status string as argument. This is equivalent to systemd-notify STATUS=.... For details about the semantics of this option see sd_notify(3).

--booted

Returns 0 if the system was booted up with systemd, non-zero otherwise. If this option is passed no message is sent. This option is hence unrelated to the other options. For details about the semantics of this option see sd_booted(3).

Exit status

On success 0 is returned, a non-zero failure code otherwise.

Example

Example 1. Start-up Notification and Status Updates

A simple shell daemon that sends start-up notifications after having set up its communication channel. During runtime it sends further status updates to the init system:

#!/bin/bash

mkfifo /tmp/waldo
systemd-notify --ready --status="Waiting for data..."

while : ; do
        read a < /tmp/waldo
        systemd-notify --status="Processing $a"

        # Do something with $a ...

        systemd-notify --status="Waiting for data..."
done

See Also

systemd(1), systemctl(1), systemd.unit(5), sd_notify(3), sd_booted(3)