]> git.ipfire.org Git - thirdparty/systemd.git/blame - man/systemd.socket.xml
libudev: Move -lrt to Libs.private
[thirdparty/systemd.git] / man / systemd.socket.xml
CommitLineData
1f812fea
LP
1<?xml version='1.0'?> <!--*-nxml-*-->
2<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
3<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
4 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
5
6<!--
7 This file is part of systemd.
8
9 Copyright 2010 Lennart Poettering
10
11 systemd is free software; you can redistribute it and/or modify it
5430f7f2
LP
12 under the terms of the GNU Lesser General Public License as published by
13 the Free Software Foundation; either version 2.1 of the License, or
1f812fea
LP
14 (at your option) any later version.
15
16 systemd is distributed in the hope that it will be useful, but
17 WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5430f7f2 19 Lesser General Public License for more details.
1f812fea 20
5430f7f2 21 You should have received a copy of the GNU Lesser General Public License
1f812fea
LP
22 along with systemd; If not, see <http://www.gnu.org/licenses/>.
23-->
24
25<refentry id="systemd.socket">
26 <refentryinfo>
27 <title>systemd.socket</title>
28 <productname>systemd</productname>
29
30 <authorgroup>
31 <author>
32 <contrib>Developer</contrib>
33 <firstname>Lennart</firstname>
34 <surname>Poettering</surname>
35 <email>lennart@poettering.net</email>
36 </author>
37 </authorgroup>
38 </refentryinfo>
39
40 <refmeta>
41 <refentrytitle>systemd.socket</refentrytitle>
42 <manvolnum>5</manvolnum>
43 </refmeta>
44
45 <refnamediv>
46 <refname>systemd.socket</refname>
34511ca7 47 <refpurpose>Socket unit configuration</refpurpose>
1f812fea
LP
48 </refnamediv>
49
50 <refsynopsisdiv>
e670b166 51 <para><filename><replaceable>socket</replaceable>.socket</filename></para>
1f812fea
LP
52 </refsynopsisdiv>
53
54 <refsect1>
55 <title>Description</title>
56
65232ea7
LP
57 <para>A unit configuration file whose name ends in
58 <filename>.socket</filename> encodes information about
59 an IPC or network socket or a file system FIFO
60 controlled and supervised by systemd, for socket-based
61 activation.</para>
1f812fea
LP
62
63 <para>This man page lists the configuration options
64 specific to this unit type. See
65 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
66 for the common options of all unit configuration
67 files. The common configuration items are configured
68 in the generic [Unit] and [Install] sections. The
cdb788e4 69 socket specific configuration options are configured
1f812fea
LP
70 in the [Socket] section.</para>
71
72 <para>Additional options are listed in
ba60f905
LP
73 <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
74 which define the execution environment the
75 <option>ExecStartPre=</option>,
76 <option>ExecStartPost=</option>,
77 <option>ExecStopPre=</option> and
89ca6994 78 <option>ExecStopPost=</option> commands are executed
4819ff03
LP
79 in, and in
80 <citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>
81 which define the way the processes are
82 terminated.</para>
1f812fea 83
65232ea7
LP
84 <para>For each socket file a matching service file
85 (see
86 <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
87 for details) must exist, describing the service to
88 start on incoming traffic on the socket. Depending on
b439c6ee 89 the setting of <option>Accept=</option> (see below),
65232ea7
LP
90 this must either be named like the socket unit, but
91 with the suffix replaced; or it must be a template
92 file named the same way. Example: a socket file
1f812fea
LP
93 <filename>foo.socket</filename> needs a matching
94 service <filename>foo.service</filename> if
95 <option>Accept=false</option> is set. If
96 <option>Accept=true</option> is set a service template
97 file <filename>foo@.service</filename> must exist from
98 which services are instantiated for each incoming
99 connection.</para>
65232ea7 100
62adf224
LP
101 <para>Unless <varname>DefaultDependencies=</varname>
102 is set to <option>false</option>, socket units will
103 implicitly have dependencies of type
104 <varname>Requires=</varname> and
105 <varname>After=</varname> on
106 <filename>sysinit.target</filename> as well as
107 dependencies of type <varname>Conflicts=</varname> and
108 <varname>Before=</varname> on
109 <filename>shutdown.target</filename>. These ensure
110 that socket units pull in basic system
111 initialization, and are terminated cleanly prior to
112 system shutdown. Only sockets involved with early
113 boot or late system shutdown should disable this
114 option.</para>
115
65232ea7 116 <para>Socket units may be used to implement on-demand
b439c6ee 117 starting of services, as well as parallelized starting
65232ea7 118 of services.</para>
be039669
LP
119
120 <para>Note that the daemon software configured for
121 socket activation with socket units needs to be able
122 to accept sockets from systemd, either via systemd's
123 native socket passing interface (see
124 <citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>
125 for details) or via the traditional
126 <citerefentry><refentrytitle>inetd</refentrytitle><manvolnum>8</manvolnum></citerefentry>-style
127 socket passing (i.e. sockets passed in via STDIN and
128 STDOUT, using <varname>StandardInput=socket</varname>
129 in the service file).</para>
1f812fea
LP
130 </refsect1>
131
132 <refsect1>
133 <title>Options</title>
134
135 <para>Socket files must include a [Socket] section,
136 which carries information about the socket or FIFO it
137 supervises. A number of options that may be used in
138 this section are shared with other unit types. These
139 options are documented in
4819ff03
LP
140 <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>
141 and
142 <citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>. The
65232ea7 143 options specific to the [Socket] section of socket
1f812fea
LP
144 units are the following:</para>
145
ccc9a4f9 146 <variablelist class='unit-directives'>
1f812fea
LP
147 <varlistentry>
148 <term><varname>ListenStream=</varname></term>
149 <term><varname>ListenDatagram=</varname></term>
150 <term><varname>ListenSequentialPacket=</varname></term>
151 <listitem><para>Specifies an address
152 to listen on for a stream
16dad32e
AE
153 (SOCK_STREAM), datagram (SOCK_DGRAM),
154 or sequential packet
155 (SOCK_SEQPACKET) socket, respectively. The address
1f812fea
LP
156 can be written in various formats:</para>
157
158 <para>If the address starts with a
159 slash (/), it is read as file system
160 socket in the AF_UNIX socket
161 family.</para>
162
163 <para>If the address starts with an
7e115808 164 at symbol (@) it is read as abstract
1f812fea
LP
165 namespace socket in the AF_UNIX
166 family. The @ is replaced with a NUL
167 character before binding. For details
168 see
169 <citerefentry><refentrytitle>unix</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
170
171 <para>If the address string is a
172 single number it is read as port
5198dabc
LP
173 number to listen on via
174 IPv6. Depending on the value of
175 <varname>BindIPv6Only=</varname> (see below) this
176 might result in the service being
177 available via both IPv6 and IPv4 (default) or
178 just via IPv6.
179 </para>
1f812fea
LP
180
181 <para>If the address string is a
182 string in the format v.w.x.y:z it is
183 read as IPv4 specifier for listening
184 on an address v.w.x.y on a port
185 z.</para>
186
187 <para>If the address string is a
188 string in the format [x]:y it is read
5198dabc
LP
189 as IPv6 address x on a port y. Note
190 that this might make the service
191 available via IPv4, too, depending on
192 the <varname>BindIPv6Only=</varname>
193 setting (see below).
194 </para>
1f812fea
LP
195
196 <para>Note that SOCK_SEQPACKET
197 (i.e. <varname>ListenSequentialPacket=</varname>)
198 is only available for AF_UNIX
199 sockets. SOCK_STREAM
200 (i.e. <varname>ListenStream=</varname>)
201 when used for IP sockets refers to TCP
202 sockets, SOCK_DGRAM
203 (i.e. <varname>ListenDatagram=</varname>)
204 to UDP.</para>
205
206 <para>These options may be specified
207 more than once in which case incoming
74051b9b
LP
208 traffic on any of the sockets will
209 trigger service activation, and all
210 listed sockets will be passed to the
211 service, regardless whether there is
212 incoming traffic on them or not. If
213 the empty string is assigned to any of
214 these options, the list of addresses
215 to listen on is reset, all prior uses
216 of any of these options will have no
217 effect.</para>
218
219 <para>If an IP address is used here,
220 it is often desirable to listen on it
1f812fea
LP
221 before the interface it is configured
222 on is up and running, and even
223 regardless whether it will be up and
74051b9b
LP
224 running ever at all. To deal with this
225 it is recommended to set the
1f812fea
LP
226 <varname>FreeBind=</varname> option
227 described below.</para></listitem>
228 </varlistentry>
229
230 <varlistentry>
231 <term><varname>ListenFIFO=</varname></term>
232 <listitem><para>Specifies a file
233 system FIFO to listen on. This expects
234 an absolute file system path as
c5315881 235 argument. Behavior otherwise is very
1f812fea
LP
236 similar to the
237 <varname>ListenDatagram=</varname>
7a22745a
LP
238 directive above.</para></listitem>
239 </varlistentry>
240
b0a3f2bc
LP
241 <varlistentry>
242 <term><varname>ListenSpecial=</varname></term>
243 <listitem><para>Specifies a special
244 file in the file system to listen
245 on. This expects an absolute file
c5315881 246 system path as argument. Behavior
b0a3f2bc
LP
247 otherwise is very similar to the
248 <varname>ListenFIFO=</varname>
249 directive above. Use this to open
250 character device nodes as well as
251 special files in
252 <filename>/proc</filename> and
253 <filename>/sys</filename>.</para></listitem>
254 </varlistentry>
255
7a22745a
LP
256 <varlistentry>
257 <term><varname>ListenNetlink=</varname></term>
258 <listitem><para>Specifies a Netlink
259 family to create a socket for to
260 listen on. This expects a short string
261 referring to the AF_NETLINK family
262 name (such as <varname>audit</varname>
263 or <varname>kobject-uevent</varname>)
264 as argument, optionally suffixed by a
265 whitespace followed by a multicast
c5315881 266 group integer. Behavior otherwise is
7a22745a
LP
267 very similar to the
268 <varname>ListenDatagram=</varname>
1f812fea
LP
269 directive above.</para></listitem>
270 </varlistentry>
271
916abb21
LP
272 <varlistentry>
273 <term><varname>ListenMessageQueue=</varname></term>
274 <listitem><para>Specifies a POSIX
275 message queue name to listen on. This
276 expects a valid message queue name
c5315881 277 (i.e. beginning with /). Behavior
916abb21
LP
278 otherwise is very similar to the
279 <varname>ListenFIFO=</varname>
280 directive above. On Linux message
281 queue descriptors are actually file
282 descriptors and can be inherited
283 between processes.</para></listitem>
284 </varlistentry>
285
1f812fea
LP
286 <varlistentry>
287 <term><varname>BindIPv6Only=</varname></term>
288 <listitem><para>Takes a one of
289 <option>default</option>,
290 <option>both</option> or
291 <option>ipv6-only</option>. Controls
292 the IPV6_V6ONLY socket option (see
293 <citerefentry><refentrytitle>ipv6</refentrytitle><manvolnum>7</manvolnum></citerefentry>
294 for details). If
295 <option>both</option>, IPv6 sockets
296 bound will be accessible via both IPv4
297 and IPv6. If
298 <option>ipv6-only</option>, they will
299 be accessible via IPv6 only. If
300 <option>default</option> (which is the
301 default, surprise!) the system wide
302 default setting is used, as controlled
303 by
5198dabc
LP
304 <filename>/proc/sys/net/ipv6/bindv6only</filename>,
305 which in turn defaults to the
306 equivalent of
307 <option>both</option>.</para>
1f812fea
LP
308 </listitem>
309 </varlistentry>
310
311 <varlistentry>
312 <term><varname>Backlog=</varname></term>
313 <listitem><para>Takes an unsigned
314 integer argument. Specifies the number
315 of connections to queue that have not
316 been accepted yet. This setting
317 matters only for stream and sequential
318 packet sockets. See
319 <citerefentry><refentrytitle>listen</refentrytitle><manvolnum>2</manvolnum></citerefentry>
320 for details. Defaults to SOMAXCONN
321 (128).</para></listitem>
322 </varlistentry>
323
324 <varlistentry>
325 <term><varname>BindToDevice=</varname></term>
326 <listitem><para>Specifies a network
327 interface name to bind this socket
328 to. If set traffic will only be
329 accepted from the specified network
330 interfaces. This controls the
331 SO_BINDTODEVICE socket option (see
332 <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
b439c6ee 333 for details). If this option is used,
1f812fea
LP
334 an automatic dependency from this
335 socket unit on the network interface
336 device unit
337 (<citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>
338 is created.</para></listitem>
339 </varlistentry>
340
341 <varlistentry>
342 <term><varname>DirectoryMode=</varname></term>
343 <listitem><para>If listening on a file
7277f5a9 344 system socket or FIFO, the parent
1f812fea
LP
345 directories are automatically created
346 if needed. This option specifies the
347 file system access mode used when
dd1eb43b
LP
348 creating these directories. Takes an
349 access mode in octal
350 notation. Defaults to
351 0755.</para></listitem>
1f812fea
LP
352 </varlistentry>
353
354 <varlistentry>
355 <term><varname>SocketMode=</varname></term>
356 <listitem><para>If listening on a file
7277f5a9 357 system socket or FIFO, this option
1f812fea
LP
358 specifies the file system access mode
359 used when creating the file
dd1eb43b
LP
360 node. Takes an access mode in octal
361 notation. Defaults to
1f812fea
LP
362 0666.</para></listitem>
363 </varlistentry>
364
365 <varlistentry>
366 <term><varname>Accept=</varname></term>
367 <listitem><para>Takes a boolean
b439c6ee 368 argument. If true, a service instance
1f812fea
LP
369 is spawned for each incoming
370 connection and only the connection
b439c6ee 371 socket is passed to it. If false, all
1f812fea
LP
372 listening sockets themselves are
373 passed to the started service unit,
374 and only one service unit is spawned
375 for all connections (also see
376 above). This value is ignored for
377 datagram sockets and FIFOs where
b439c6ee 378 a single service unit unconditionally
1f812fea
LP
379 handles all incoming traffic. Defaults
380 to <option>false</option>. For
b439c6ee 381 performance reasons, it is recommended
1f812fea
LP
382 to write new daemons only in a way
383 that is suitable for
384 <option>Accept=false</option>. This
385 option is mostly useful to allow
386 daemons designed for usage with
b439c6ee
KS
387 <citerefentry><refentrytitle>inetd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
388 to work unmodified with systemd socket
1f812fea
LP
389 activation.</para></listitem>
390 </varlistentry>
391
392 <varlistentry>
393 <term><varname>MaxConnections=</varname></term>
394 <listitem><para>The maximum number of
395 connections to simultaneously run
396 services instances for, when
397 <option>Accept=true</option> is
398 set. If more concurrent connections
b439c6ee 399 are coming in, they will be refused
1f812fea
LP
400 until at least one existing connection
401 is terminated. This setting has no
402 effect for sockets configured with
f848f8d8 403 <option>Accept=false</option> or datagram
1f812fea
LP
404 sockets. Defaults to
405 64.</para></listitem>
406 </varlistentry>
407
408 <varlistentry>
409 <term><varname>KeepAlive=</varname></term>
410 <listitem><para>Takes a boolean
411 argument. If true, the TCP/IP stack
412 will send a keep alive message after
413 2h (depending on the configuration of
414 <filename>/proc/sys/net/ipv4/tcp_keepalive_time</filename>)
415 for all TCP streams accepted on this
416 socket. This controls the SO_KEEPALIVE
417 socket option (see
418 <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
419 and the <ulink
420 url="http://www.tldp.org/HOWTO/html_single/TCP-Keepalive-HOWTO/">TCP
421 Keepalive HOWTO</ulink> for details.)
422 Defaults to
423 <option>false</option>.</para></listitem>
424 </varlistentry>
425
426 <varlistentry>
427 <term><varname>Priority=</varname></term>
428 <listitem><para>Takes an integer
429 argument controlling the priority for
430 all traffic sent from this
431 socket. This controls the SO_PRIORITY
432 socket option (see
433 <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
434 for details.).</para></listitem>
435 </varlistentry>
436
437 <varlistentry>
438 <term><varname>ReceiveBuffer=</varname></term>
439 <term><varname>SendBuffer=</varname></term>
440 <listitem><para>Takes an integer
441 argument controlling the receive
16dad32e
AE
442 or send buffer sizes of this
443 socket, respectively. This controls the SO_RCVBUF
444 and SO_SNDBUF socket options (see
1f812fea
LP
445 <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
446 for details.).</para></listitem>
447 </varlistentry>
448
449 <varlistentry>
450 <term><varname>IPTOS=</varname></term>
451 <listitem><para>Takes an integer
452 argument controlling the IP
453 Type-Of-Service field for packets
454 generated from this socket. This
455 controls the IP_TOS socket option (see
456 <citerefentry><refentrytitle>ip</refentrytitle><manvolnum>7</manvolnum></citerefentry>
457 for details.). Either a numeric string
458 or one of <option>low-delay</option>,
459 <option>throughput</option>,
460 <option>reliability</option> or
461 <option>low-cost</option> may be
462 specified.</para></listitem>
463 </varlistentry>
464
465 <varlistentry>
466 <term><varname>IPTTL=</varname></term>
467 <listitem><para>Takes an integer
468 argument controlling the IPv4
469 Time-To-Live/IPv6 Hop-Count field for
470 packets generated from this
471 socket. This sets the
472 IP_TTL/IPV6_UNICAST_HOPS socket
473 options (see
474 <citerefentry><refentrytitle>ip</refentrytitle><manvolnum>7</manvolnum></citerefentry>
475 and
476 <citerefentry><refentrytitle>ipv6</refentrytitle><manvolnum>7</manvolnum></citerefentry>
477 for details.)</para></listitem>
478 </varlistentry>
479
480 <varlistentry>
481 <term><varname>Mark=</varname></term>
482 <listitem><para>Takes an integer
483 value. Controls the firewall mark of
484 packets generated by this socket. This
485 can be used in the firewall logic to
486 filter packets from this socket. This
487 sets the SO_MARK socket option. See
488 <citerefentry><refentrytitle>iptables</refentrytitle><manvolnum>8</manvolnum></citerefentry>
489 for details.</para></listitem>
490 </varlistentry>
491
0eb59ccf
AK
492 <varlistentry>
493 <term><varname>SmackLabel=</varname></term>
494 <term><varname>SmackLabelIPIn=</varname></term>
495 <term><varname>SmackLabelIPOut=</varname></term>
496 <listitem><para>Takes a string
497 value. Controls the extended
498 attributes
499 <literal>security.SMACK64</literal>,
500 <literal>security.SMACK64IPIN</literal>
501 and
502 <literal>security.SMACK64IPOUT</literal>,
503 respectively, i.e. the security label
504 of the FIFO, or the security label for
505 the incoming or outgoing connections
506 of the socket, respectively. See
507 <ulink
508 url="https://www.kernel.org/doc/Documentation/security/Smack.txt">Smack.txt</ulink>
509 for details.</para></listitem>
510 </varlistentry>
511
1f812fea
LP
512 <varlistentry>
513 <term><varname>PipeSize=</varname></term>
514 <listitem><para>Takes an integer
515 value. Controls the pipe buffer size
516 of FIFOs configured in this socket
517 unit. See
518 <citerefentry><refentrytitle>fcntl</refentrytitle><manvolnum>2</manvolnum></citerefentry>
519 for details.</para></listitem>
520 </varlistentry>
521
916abb21
LP
522 <varlistentry>
523 <term><varname>MessageQueueMaxMessages=</varname>,
524 <varname>MessageQueueMessageSize=</varname></term>
525 <listitem><para>These two settings
526 take integer values and control the
16dad32e 527 mq_maxmsg field or the mq_msgsize field, respectively, when
916abb21
LP
528 creating the message queue. Note that
529 either none or both of these variables
530 need to be set. See
531 <citerefentry><refentrytitle>mq_setattr</refentrytitle><manvolnum>3</manvolnum></citerefentry>
532 for details.</para></listitem>
533 </varlistentry>
534
1f812fea
LP
535 <varlistentry>
536 <term><varname>FreeBind=</varname></term>
537 <listitem><para>Takes a boolean
538 value. Controls whether the socket can
539 be bound to non-local IP
540 addresses. This is useful to configure
541 sockets listening on specific IP
542 addresses before those IP addresses
543 are successfully configured on a
544 network interface. This sets the
545 IP_FREEBIND socket option. For
546 robustness reasons it is recommended
547 to use this option whenever you bind a
548 socket to a specific IP
549 address. Defaults to <option>false</option>.</para></listitem>
550 </varlistentry>
551
6b6d2dee
LP
552 <varlistentry>
553 <term><varname>Transparent=</varname></term>
554 <listitem><para>Takes a boolean
555 value. Controls the IP_TRANSPARENT
271b032a 556 socket option. Defaults to
6b6d2dee
LP
557 <option>false</option>.</para></listitem>
558 </varlistentry>
559
ec6370a2
LP
560 <varlistentry>
561 <term><varname>Broadcast=</varname></term>
562 <listitem><para>Takes a boolean
563 value. This controls the SO_BROADCAST
271b032a 564 socket option, which allows broadcast
ec6370a2
LP
565 datagrams to be sent from this
566 socket. Defaults to
567 <option>false</option>.</para></listitem>
568 </varlistentry>
569
42e87475 570 <varlistentry>
271b032a 571 <term><varname>PassCredentials=</varname></term>
42e87475
MS
572 <listitem><para>Takes a boolean
573 value. This controls the SO_PASSCRED
54ecda32 574 socket option, which allows AF_UNIX sockets to
42e87475
MS
575 receive the credentials of the sending
576 process in an ancillary message.
577 Defaults to
578 <option>false</option>.</para></listitem>
579 </varlistentry>
580
54ecda32
LP
581 <varlistentry>
582 <term><varname>PassSecurity=</varname></term>
583 <listitem><para>Takes a boolean
584 value. This controls the SO_PASSSEC
585 socket option, which allows AF_UNIX
586 sockets to receive the security
587 context of the sending process in an
588 ancillary message. Defaults to
589 <option>false</option>.</para></listitem>
590 </varlistentry>
591
cebf8b20
TT
592 <varlistentry>
593 <term><varname>TCPCongestion=</varname></term>
594 <listitem><para>Takes a string
595 value. Controls the TCP congestion
596 algorithm used by this socket. Should
597 be one of "westwood", "veno", "cubic",
598 "lp" or any other available algorithm
599 supported by the IP stack. This
600 setting applies only to stream
601 sockets.</para></listitem>
602 </varlistentry>
603
1f812fea
LP
604 <varlistentry>
605 <term><varname>ExecStartPre=</varname></term>
606 <term><varname>ExecStartPost=</varname></term>
b3eaa628
LP
607 <listitem><para>Takes one or more
608 command lines, which are executed
16dad32e 609 before or after the listening
b3eaa628 610 sockets/FIFOs are created and
16dad32e 611 bound, respectively. The first token of the command
1f812fea
LP
612 line must be an absolute file name,
613 then followed by arguments for the
b3eaa628
LP
614 process. Multiple command lines may be
615 specified following the same scheme as
616 used for
617 <varname>ExecStartPre=</varname> of
618 service unit files.</para></listitem>
1f812fea
LP
619 </varlistentry>
620
621 <varlistentry>
622 <term><varname>ExecStopPre=</varname></term>
623 <term><varname>ExecStopPost=</varname></term>
624 <listitem><para>Additional commands
16dad32e 625 that are executed before or after
1f812fea 626 the listening sockets/FIFOs are closed
16dad32e 627 and removed, respectively. Multiple command lines
b3eaa628
LP
628 may be specified following the same
629 scheme as used for
630 <varname>ExecStartPre=</varname> of
631 service unit files.</para></listitem>
1f812fea
LP
632 </varlistentry>
633
1f812fea
LP
634 <varlistentry>
635 <term><varname>TimeoutSec=</varname></term>
636 <listitem><para>Configures the time to
637 wait for the commands specified in
638 <varname>ExecStartPre=</varname>,
639 <varname>ExecStartPost=</varname>,
640 <varname>ExecStopPre=</varname> and
641 <varname>ExecStopPost=</varname> to
b439c6ee
KS
642 finish. If a command does not exit
643 within the configured time, the socket
1f812fea 644 will be considered failed and be shut
b439c6ee 645 down again. All commands still running,
1f812fea
LP
646 will be terminated forcibly via
647 SIGTERM, and after another delay of
648 this time with SIGKILL. (See
4819ff03 649 <option>KillMode=</option> in <citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>.)
1f812fea
LP
650 Takes a unit-less value in seconds, or
651 a time span value such as "5min
652 20s". Pass 0 to disable the timeout
653 logic. Defaults to
ecb963cc 654 90s.</para></listitem>
1f812fea
LP
655 </varlistentry>
656
d9ff321a
LP
657 <varlistentry>
658 <term><varname>Service=</varname></term>
659 <listitem><para>Specifies the service
660 unit name to activate on incoming
661 traffic. This defaults to the service
662 that bears the same name as the socket
663 (ignoring the different suffixes). In
664 most cases it should not be necessary
665 to use this option.</para></listitem>
666 </varlistentry>
667
1f812fea 668 </variablelist>
4819ff03
LP
669
670 <para>Check
671 <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>
672 and
673 <citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>
674 for more settings.</para>
675
1f812fea
LP
676 </refsect1>
677
678 <refsect1>
679 <title>See Also</title>
680 <para>
f3e219a2 681 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
1f812fea
LP
682 <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
683 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
684 <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
4819ff03 685 <citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
9cc2c8b7
ZJS
686 <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
687 <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
1f812fea
LP
688 </para>
689 </refsect1>
690
691</refentry>