core: set $SYSTEMD_EXEC_PID= environment variable for executed commands

It may be useful to detect a command is directly executed by systemd
manager, or indirectly as a child of another process.
This commit is contained in:
Yu Watanabe
2021-02-01 01:13:44 +09:00
parent d2acb93dc5
commit dc4e2940e8
2 changed files with 17 additions and 1 deletions
+11
View File
@@ -3043,6 +3043,17 @@ StandardInputData=SWNrIHNpdHplIGRhIHVuJyBlc3NlIEtsb3BzLAp1ZmYgZWVtYWwga2xvcHAncy
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>$SYSTEMD_EXEC_PID</varname></term>
<listitem><para>The PID of the unit process (e.g. process invoked by
<varname>ExecStart=</varname>). The child process can use this information to determine
whether the process is directly invoked by the service manager or indirectly as a child of
another process by comparing this value with the current PID (as similar to the scheme used in
<citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>
with <varname>$LISTEN_PID</varname> and <varname>$LISTEN_FDS</varname>).</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>$TERM</varname></term>