mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-10-31 07:51:08 +03:00
5e65c93a43
I need this to test half-installed socket-activated python script, which requires PYTHONPATH and LD_LIBRARY_PATH set. I assume that other people might find it useful to. -E VAR passes through VAR from the environment, while -E VAR=value sets VAR=value. systemd-activate -E PYTHONPATH=/var/tmp/inst1/usr/lib64/python3.3/site-packages -E LD_LIBRARY_PATH=/var/tmp/inst1/usr/lib -l 2000 python3 -c 'from systemd.daemon import listen_fds; print(listen_fds())'
184 lines
6.5 KiB
XML
184 lines
6.5 KiB
XML
<?xml version='1.0'?> <!--*-nxml-*-->
|
||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||
|
||
<!--
|
||
This file is part of systemd.
|
||
|
||
Copyright 2013 Zbigniew Jędrzejewski-Szmek
|
||
|
||
systemd is free software; you can redistribute it and/or modify it
|
||
under the terms of the GNU Lesser General Public License as published by
|
||
the Free Software Foundation; either version 2.1 of the License, or
|
||
(at your option) any later version.
|
||
|
||
systemd is distributed in the hope that it will be useful, but
|
||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||
Lesser General Public License for more details.
|
||
|
||
You should have received a copy of the GNU Lesser General Public License
|
||
along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||
-->
|
||
|
||
<refentry id="systemd-activate">
|
||
|
||
<refentryinfo>
|
||
<title>systemd-activate</title>
|
||
<productname>systemd</productname>
|
||
|
||
<authorgroup>
|
||
<author>
|
||
<contrib>Developer</contrib>
|
||
<firstname>Zbigniew</firstname>
|
||
<surname>Jędrzejewski-Szmek</surname>
|
||
<email>zbyszek@in.waw.pl</email>
|
||
</author>
|
||
</authorgroup>
|
||
</refentryinfo>
|
||
|
||
<refmeta>
|
||
<refentrytitle>systemd-activate</refentrytitle>
|
||
<manvolnum>8</manvolnum>
|
||
</refmeta>
|
||
|
||
<refnamediv>
|
||
<refname>systemd-activate</refname>
|
||
<refpurpose>Test socket activation of daemons</refpurpose>
|
||
</refnamediv>
|
||
|
||
<refsynopsisdiv>
|
||
<cmdsynopsis>
|
||
<command>/usr/lib/systemd/systemd-activate</command>
|
||
<arg choice="opt" rep="repeat">OPTIONS</arg>
|
||
<arg choice="plain"><replaceable>daemon</replaceable></arg>
|
||
<arg choice="opt" rep="repeat">OPTIONS</arg>
|
||
</cmdsynopsis>
|
||
</refsynopsisdiv>
|
||
|
||
<refsect1>
|
||
<title>Description</title>
|
||
|
||
<para><command>systemd-activate</command> can be used to
|
||
launch a socket activated daemon from the command-line for
|
||
testing purposes. It can also be used to launch single instances
|
||
of the daemon per connection (inetd-style).
|
||
</para>
|
||
|
||
<para>The daemon to launch and its options should be specifed
|
||
after options intended for <command>systemd-activate</command>.
|
||
</para>
|
||
|
||
<para>If the <option>-a</option> option is given, file descriptor
|
||
of the connection will be used as the standard input and output of
|
||
the launched process. Otherwise, standard input and output will be
|
||
inherited, and sockets will be passed through file descriptors 3
|
||
and higher. Sockets passed through <varname>$LISTEN_FDS</varname>
|
||
to <command>systemd-activate</command> will be passed through to
|
||
the dameon, in the original positions. Other sockets specified
|
||
with <option>--listen</option> will use consecutive descriptors.
|
||
</para>
|
||
</refsect1>
|
||
|
||
<refsect1>
|
||
<title>Options</title>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><option>--help</option></term>
|
||
<term><option>-h</option></term>
|
||
|
||
<listitem><para>Prints a short help
|
||
text and exits.</para></listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><option>--version</option></term>
|
||
|
||
<listitem><para>Prints a short version
|
||
string and exits.</para></listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><option>-l <replaceable>address</replaceable></option></term>
|
||
<term><option>--listen=<replaceable>address</replaceable></option></term>
|
||
|
||
<listitem><para>Listen on this <replaceable>address</replaceable>.
|
||
Takes a string like <literal>2000</literal> or
|
||
<literal>127.0.0.1:2001</literal>.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><option>-a</option></term>
|
||
<term><option>--accept</option></term>
|
||
|
||
<listitem><para>Launch a separate instance of daemon per
|
||
connection and pass the connection socket as standard input
|
||
and standard output.</para></listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><option>-E <replaceable>VAR</replaceable><optional>=<replaceable>VALUE</replaceable></optional></option></term>
|
||
<term><option>--environment=<replaceable>VAR</replaceable><optional>=<replaceable>VALUE</replaceable></optional></option></term>
|
||
|
||
<listitem><para>Add this variable to the environment of the
|
||
launched process. If <replaceable>VAR</replaceable> is
|
||
followed by <literal>=</literal> assume that it is a
|
||
variable–value pair. Otherwise obtain the value from the
|
||
environment of <command>systemd-activate</command> itself.
|
||
</para></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</refsect1>
|
||
|
||
<refsect1>
|
||
<title>Environment variables</title>
|
||
<variablelist class='environment-variables'>
|
||
<varlistentry>
|
||
<term><varname>$LISTEN_FDS</varname></term>
|
||
<term><varname>$LISTEN_PID</varname></term>
|
||
|
||
<listitem><para>See
|
||
<citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><varname>$SYSTEMD_LOG_TARGET</varname></term>
|
||
<term><varname>$SYSTEMD_LOG_LEVEL</varname></term>
|
||
<term><varname>$SYSTEMD_LOG_COLOR</varname></term>
|
||
<term><varname>$SYSTEMD_LOG_LOCATION</varname></term>
|
||
|
||
<listitem><para>Same as in
|
||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</refsect1>
|
||
|
||
<refsect1>
|
||
<title>Example 1</title>
|
||
|
||
<programlisting>$ /usr/lib/systemd/systemd-activate -l 2000 -a cat</programlisting>
|
||
|
||
<para>This runs an echo server on port 2000.</para>
|
||
</refsect1>
|
||
|
||
<refsect1>
|
||
<title>Example 2</title>
|
||
|
||
<programlisting>$ /usr/lib/systemd/systemd-activate -l 19531 /usr/lib/systemd/systemd-journal-gatewayd</programlisting>
|
||
|
||
<para>This runs a socket activated instance of
|
||
<citerefentry><refentrytitle>systemd-journal-gatewayd</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
||
</refsect1>
|
||
|
||
<refsect1>
|
||
<title>See Also</title>
|
||
<para>
|
||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||
<citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
||
<citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
||
<citerefentry><refentrytitle>cat</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|