systemd-notify

systemd
Developer Lennart Poettering lennart@poettering.net
systemd-notify 1
systemd-notify Notify service manager about start-up completion and other daemon status changes
`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:

`--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.

`--readahead=`

  Controls disk read-ahead operations. The argument must be a string, and either "cancel", "done" or "noreplay". For details about the semantics of this option see sd_readahead 3.

## Exit status

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

## Example

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