systemd/man/systemd-notify.1
2015-02-17 11:22:16 +01:00

121 lines
4.0 KiB
Groff

'\" t
.TH "SYSTEMD\-NOTIFY" "1" "" "systemd 219" "systemd-notify"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
systemd-notify \- Notify service manager about start\-up completion and other daemon status changes
.SH "SYNOPSIS"
.HP \w'\fBsystemd\-notify\ \fR\fB[OPTIONS...]\fR\fB\ \fR\fB[VARIABLE=VALUE...]\fR\ 'u
\fBsystemd\-notify \fR\fB[OPTIONS...]\fR\fB \fR\fB[VARIABLE=VALUE...]\fR
.SH "DESCRIPTION"
.PP
\fBsystemd\-notify\fR
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\&.
.PP
This is mostly just a wrapper around
\fBsd_notify()\fR
and makes this functionality available to shell scripts\&. For details see
\fBsd_notify\fR(3)\&.
.PP
The command line may carry a list of environment variables to send as part of the status update\&.
.PP
Note that systemd will refuse reception of status updates from this command unless
\fINotifyAccess=all\fR
is set for the service unit this command is called from\&.
.SH "OPTIONS"
.PP
The following options are understood:
.PP
\fB\-\-ready\fR
.RS 4
Inform the init system about service start\-up completion\&. This is equivalent to
\fBsystemd\-notify READY=1\fR\&. For details about the semantics of this option see
\fBsd_notify\fR(3)\&.
.RE
.PP
\fB\-\-pid=\fR
.RS 4
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
\fBsystemd\-notify\fR
is used\&. This is equivalent to
\fBsystemd\-notify MAINPID=$PID\fR\&. For details about the semantics of this option see
\fBsd_notify\fR(3)\&.
.RE
.PP
\fB\-\-status=\fR
.RS 4
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
\fBsystemd\-notify STATUS=\&.\&.\&.\fR\&. For details about the semantics of this option see
\fBsd_notify\fR(3)\&.
.RE
.PP
\fB\-\-booted\fR
.RS 4
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
\fBsd_booted\fR(3)\&.
.RE
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
Print a short help text and exit\&.
.RE
.PP
\fB\-\-version\fR
.RS 4
Print a short version string and exit\&.
.RE
.SH "EXIT STATUS"
.PP
On success, 0 is returned, a non\-zero failure code otherwise\&.
.SH "EXAMPLE"
.PP
\fBExample\ \&1.\ \&Start-up Notification and Status Updates\fR
.PP
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:
.sp
.if n \{\
.RS 4
.\}
.nf
#!/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
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.PP
\fBsystemd\fR(1),
\fBsystemctl\fR(1),
\fBsystemd.unit\fR(5),
\fBsd_notify\fR(3),
\fBsd_booted\fR(3)