]> git.ipfire.org Git - thirdparty/systemd.git/blame - man/systemd-socket-activate.xml
travis: use UBSan checks from OSS-Fuzz
[thirdparty/systemd.git] / man / systemd-socket-activate.xml
CommitLineData
514094f9 1<?xml version='1.0'?>
3a54a157
ZJS
2<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
0307f791 4<!-- SPDX-License-Identifier: LGPL-2.1+ -->
2ca0435b 5
7f6e8043 6<refentry id="systemd-socket-activate"
dfdebb1b 7 xmlns:xi="http://www.w3.org/2001/XInclude">
2ca0435b
ZJS
8
9 <refentryinfo>
7f6e8043 10 <title>systemd-socket-activate</title>
2ca0435b 11 <productname>systemd</productname>
2ca0435b
ZJS
12 </refentryinfo>
13
14 <refmeta>
7f6e8043
ZJS
15 <refentrytitle>systemd-socket-activate</refentrytitle>
16 <manvolnum>1</manvolnum>
2ca0435b
ZJS
17 </refmeta>
18
19 <refnamediv>
7f6e8043 20 <refname>systemd-socket-activate</refname>
2ca0435b
ZJS
21 <refpurpose>Test socket activation of daemons</refpurpose>
22 </refnamediv>
23
24 <refsynopsisdiv>
25 <cmdsynopsis>
7f6e8043 26 <command>systemd-socket-activate</command>
2ca0435b
ZJS
27 <arg choice="opt" rep="repeat">OPTIONS</arg>
28 <arg choice="plain"><replaceable>daemon</replaceable></arg>
29 <arg choice="opt" rep="repeat">OPTIONS</arg>
30 </cmdsynopsis>
31 </refsynopsisdiv>
32
33 <refsect1>
34 <title>Description</title>
35
3f2d1365
AJ
36 <para><command>systemd-socket-activate</command> may be used to launch a socket-activated service program from the
37 command line for testing purposes. It may also be used to launch individual instances of the service program per
38 connection.
2ca0435b
ZJS
39 </para>
40
ff9b60f3 41 <para>The daemon to launch and its options should be specified
7f6e8043 42 after options intended for <command>systemd-socket-activate</command>.
2ca0435b
ZJS
43 </para>
44
eef0a274
LP
45 <para>If the <option>--inetd</option> option is given, the socket file descriptor will be used as the standard
46 input and output of the launched process. Otherwise, standard input and output will be inherited, and sockets will
47 be passed through file descriptors 3 and higher. Sockets passed through <varname>$LISTEN_FDS</varname> to
7f6e8043 48 <command>systemd-socket-activate</command> will be passed through to the daemon, in the original positions. Other sockets
eef0a274 49 specified with <option>--listen=</option> will use consecutive descriptors. By default,
7f6e8043 50 <command>systemd-socket-activate</command> listens on a stream socket, use <option>--datagram</option> and
eef0a274 51 <option>--seqpacket</option> to listen on datagram or sequential packet sockets instead (see below).
2ca0435b
ZJS
52 </para>
53 </refsect1>
54
55 <refsect1>
56 <title>Options</title>
57 <variablelist>
2ca0435b 58 <varlistentry>
5e65c93a 59 <term><option>-l <replaceable>address</replaceable></option></term>
2ca0435b
ZJS
60 <term><option>--listen=<replaceable>address</replaceable></option></term>
61
62 <listitem><para>Listen on this <replaceable>address</replaceable>.
63 Takes a string like <literal>2000</literal> or
64 <literal>127.0.0.1:2001</literal>.</para>
65 </listitem>
66 </varlistentry>
67
68 <varlistentry>
69 <term><option>-a</option></term>
70 <term><option>--accept</option></term>
71
3f2d1365 72 <listitem><para>Launch an instance of the service program for each connection and pass the connection
eef0a274 73 socket.</para></listitem>
2ca0435b 74 </varlistentry>
5e65c93a 75
530a071a
SS
76 <varlistentry>
77 <term><option>-d</option></term>
78 <term><option>--datagram</option></term>
79
d31e430f
LP
80 <listitem><para>Listen on a datagram socket (<constant>SOCK_DGRAM</constant>), instead of a stream socket
81 (<constant>SOCK_STREAM</constant>). May not be combined with <option>--seqpacket</option>.</para></listitem>
82 </varlistentry>
83
84 <varlistentry>
85 <term><option>--seqpacket</option></term>
86
87 <listitem><para>Listen on a sequential packet socket (<constant>SOCK_SEQPACKET</constant>), instead of a stream
88 socket (<constant>SOCK_STREAM</constant>). May not be combined with
89 <option>--datagram</option>.</para></listitem>
530a071a
SS
90 </varlistentry>
91
eef0a274
LP
92 <varlistentry>
93 <term><option>--inetd</option></term>
94
95 <listitem><para>Use the inetd protocol for passing file descriptors, i.e. as standard input and standard
96 output, instead of the new-style protocol for passing file descriptors using <varname>$LISTEN_FDS</varname>
97 (see above).</para></listitem>
98 </varlistentry>
99
5e65c93a
ZJS
100 <varlistentry>
101 <term><option>-E <replaceable>VAR</replaceable><optional>=<replaceable>VALUE</replaceable></optional></option></term>
892213bf 102 <term><option>--setenv=<replaceable>VAR</replaceable><optional>=<replaceable>VALUE</replaceable></optional></option></term>
5e65c93a
ZJS
103
104 <listitem><para>Add this variable to the environment of the
105 launched process. If <replaceable>VAR</replaceable> is
79640424
JE
106 followed by <literal>=</literal>, assume that it is a
107 variable–value pair. Otherwise, obtain the value from the
7f6e8043 108 environment of <command>systemd-socket-activate</command> itself.
5e65c93a
ZJS
109 </para></listitem>
110 </varlistentry>
dfdebb1b 111
8dd4c05b 112 <varlistentry>
1eecafb8 113 <term><option>--fdname=</option><replaceable>NAME</replaceable><optional>:<replaceable>NAME</replaceable>…</optional></term>
cf98937c
ZJS
114
115 <listitem><para>Specify names for the file descriptors passed. This is equivalent to setting
116 <varname>FileDescriptorName=</varname> in socket unit files, and enables use of
117 <citerefentry><refentrytitle>sd_listen_fds_with_names</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
118 Multiple entries may be specifies using separate options or by separating names with colons
b17649ee 119 (<literal>:</literal>) in one option. In case more names are given than descriptors, superfluous ones will be
cf98937c
ZJS
120 ignored. In case less names are given than descriptors, the remaining file descriptors will be unnamed.
121 </para></listitem>
8dd4c05b
LP
122 </varlistentry>
123
dfdebb1b
ZJS
124 <xi:include href="standard-options.xml" xpointer="help" />
125 <xi:include href="standard-options.xml" xpointer="version" />
2ca0435b
ZJS
126 </variablelist>
127 </refsect1>
128
129 <refsect1>
130 <title>Environment variables</title>
131 <variablelist class='environment-variables'>
132 <varlistentry>
133 <term><varname>$LISTEN_FDS</varname></term>
134 <term><varname>$LISTEN_PID</varname></term>
8dd4c05b 135 <term><varname>$LISTEN_FDNAMES</varname></term>
2ca0435b 136
1446560f
ZJS
137 <listitem><para>See
138 <citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem>
2ca0435b
ZJS
139 </varlistentry>
140
141 <varlistentry>
142 <term><varname>$SYSTEMD_LOG_TARGET</varname></term>
143 <term><varname>$SYSTEMD_LOG_LEVEL</varname></term>
144 <term><varname>$SYSTEMD_LOG_COLOR</varname></term>
145 <term><varname>$SYSTEMD_LOG_LOCATION</varname></term>
146
1446560f
ZJS
147 <listitem><para>Same as in
148 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para></listitem>
2ca0435b
ZJS
149 </varlistentry>
150 </variablelist>
151 </refsect1>
152
153 <refsect1>
1db8c66f 154 <title>Examples</title>
2ca0435b 155
1db8c66f
RC
156 <example>
157 <title>Run an echo server on port 2000</title>
2ca0435b 158
7f6e8043 159 <programlisting>$ systemd-socket-activate -l 2000 --inetd -a cat</programlisting>
1db8c66f 160 </example>
2ca0435b 161
1db8c66f 162 <example>
b938cb90 163 <title>Run a socket-activated instance of <citerefentry><refentrytitle>systemd-journal-gatewayd</refentrytitle><manvolnum>8</manvolnum></citerefentry></title>
2ca0435b 164
7f6e8043 165 <programlisting>$ systemd-socket-activate -l 19531 /usr/lib/systemd/systemd-journal-gatewayd</programlisting>
1db8c66f 166 </example>
2ca0435b
ZJS
167 </refsect1>
168
169 <refsect1>
170 <title>See Also</title>
171 <para>
172 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
173 <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
174 <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
cac26f0b 175 <citerefentry><refentrytitle>systemd-run</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
8dd4c05b
LP
176 <citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
177 <citerefentry><refentrytitle>sd_listen_fds_with_names</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
3ba3a79d 178 <citerefentry project='man-pages'><refentrytitle>cat</refentrytitle><manvolnum>1</manvolnum></citerefentry>
2ca0435b
ZJS
179 </para>
180 </refsect1>
181</refentry>