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_notify3. 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: 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_notify3. 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_notify3. 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_notify3. 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_booted3. An alternate way to check for this state is to call systemctl1 with the is-system-running command. It will return offline if the system was not booted with systemd. 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 systemd1, systemctl1, systemd.unit5, sd_notify3, sd_booted3