Section: systemd-notify (1)
:systemd-notify [OPTIONS...] [VARIABLE=VALUE...]
- 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.
The command line may carry a list of environment variables to send as part of the status update.
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_notify?(3).
- 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).
- 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).
- 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).
- 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).
- Print a short help text and exit.
- Print a short version string and exit.
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