summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2017-02-06 20:01:24 +0100
committerLennart Poettering <lennart@poettering.net>2017-02-06 20:01:24 +0100
commitaa2039457911cc89adbf73e8a9b26ce99110e23d (patch)
tree317e8dd888363c709dc650d132014a77189e9e16
parentb3bb64767abacc5b759255a698c89b3495cd54f4 (diff)
downloadsystemd-aa2039457911cc89adbf73e8a9b26ce99110e23d.tar.gz
notify: document that we fake the PID when sending sd_notify()
-rw-r--r--man/systemd-notify.xml7
1 files changed, 7 insertions, 0 deletions
diff --git a/man/systemd-notify.xml b/man/systemd-notify.xml
index 9bb35a3a0c..8c56a6b8ed 100644
--- a/man/systemd-notify.xml
+++ b/man/systemd-notify.xml
@@ -83,6 +83,13 @@
<function>sd_notify()</function> message and immediately exits, the service manager might not be able to properly
attribute the message to the unit, and thus will ignore it, even if
<varname>NotifyAccess=</varname><option>all</option> is set for it.</para>
+
+ <para><command>systemd-notify</command> will first attempt to invoke <function>sd_notify()</function> pretending to
+ have the PID of the invoking process. This will only succeed when invoked with sufficient privileges. On failure,
+ it will then fall back to invoking it under its own PID. This behaviour is useful in order that when the tool is
+ invoked from a shell script the shell process — and not the <command>systemd-notify</command> process — appears as
+ sender of the message, which in turn is helpful if the shell process is the main process of a service, due to the
+ limitations of <varname>NotifyAccess=</varname><option>all</option> described above.</para>
</refsect1>
<refsect1>