1 <?xml version='1.0'?> <!--*-nxml-*-->
2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
6 This file is part of systemd.
8 Copyright 2010 Lennart Poettering
10 systemd is free software; you can redistribute it and/or modify it
11 under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 2 of the License, or
13 (at your option) any later version.
15 systemd is distributed in the hope that it will be useful, but
16 WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 General Public License for more details.
20 You should have received a copy of the GNU General Public License
21 along with systemd; If not, see <http://www.gnu.org/licenses/>.
24 <refentry id="systemd-notify">
27 <title>systemd-notify</title>
28 <productname>systemd</productname>
32 <contrib>Developer</contrib>
33 <firstname>Lennart</firstname>
34 <surname>Poettering</surname>
35 <email>lennart@poettering.net</email>
41 <refentrytitle>systemd-notify</refentrytitle>
42 <manvolnum>1</manvolnum>
46 <refname>systemd-notify</refname>
47 <refpurpose>Notify init system about start-up completion and other daemon status changes</refpurpose>
52 <command>systemd-notify <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="opt" rep="repeat">VARIABLE=VALUE</arg></command>
57 <title>Description</title>
59 <para><command>systemd-notify</command> may be
60 called by daemon scripts to notify the init system
61 about status changes. It can be used to send arbitrary
62 information, encoded in an environment-block-like list
63 of strings. Most importantly it can be used for
64 start-up completion notification.</para>
66 <para>This is mostly just a wrapper around
67 <function>sd_notify()</function> and makes this
68 functionality available to shell scripts. For details
70 <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para>
72 <para>The command line may carry a list of
73 environment variables to send as part of the status
76 <para>Note that systemd will refuse reception of
77 status updates from this command unless
78 <varname>NotifyAccess=all</varname> is set for the
79 service unit this command is called from.</para>
84 <title>Options</title>
86 <para>The following options are understood:</para>
90 <term><option>--h</option></term>
91 <term><option>--help</option></term>
93 <listitem><para>Prints a short help
94 text and exits.</para></listitem>
98 <term><option>--ready</option></term>
100 <listitem><para>Inform the init system
101 about service start-up
102 completion. This is equivalent to
103 <command>systemd-notify
104 READY=1</command>. For details about
105 the semantics of this option see
106 <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem>
110 <term><option>--pid=</option></term>
112 <listitem><para>Inform the init system
113 about the main PID of the
114 daemon. Takes a PID as argument. If
115 the argument is omitted the PID of the
117 <command>systemd-notify</command> is
118 used. This is equivalent to
119 <command>systemd-notify
120 MAINPID=$PID</command>. For details
121 about the semantics of this option see
122 <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem>
126 <term><option>--status=</option></term>
128 <listitem><para>Send a free-form
129 status string for the daemon to the
130 init systemd. This option takes the
131 status string as argument. This is
132 equivalent to <command>systemd-notify
133 STATUS=...</command>. For details
134 about the semantics of this option see
135 <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem>
139 <term><option>--booted</option></term>
141 <listitem><para>Returns 0 if the
142 system was booted up with systemd,
143 non-zero otherwise. If this option is
144 passed no message is sent. This option
145 is hence unrelated to the other
146 options. For details about the
147 semantics of this option see
148 <citerefentry><refentrytitle>sd_booted</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem>
155 <title>Exit status</title>
157 <para>On success 0 is returned, a non-zero failure
158 code otherwise.</para>
162 <title>Example</title>
165 <title>Start-up Notification and Status Updates</title>
167 <para>A simple shell daemon that sends
168 start-up notifications after having set up its
169 communication channel. During runtime it sends
170 further status updates to the init
173 <programlisting>#!/bin/bash
176 systemd-notify --ready --status="Waiting for data..."
179 read a < /tmp/waldo
180 systemd-notify --status="Processing $a"
182 # Do something with $a ...
184 systemd-notify --status="Waiting for data..."
185 done</programlisting>
190 <title>See Also</title>
192 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
193 <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
194 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
195 <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
196 <citerefentry><refentrytitle>sd_booted</refentrytitle><manvolnum>3</manvolnum></citerefentry>