X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsystemd.socket.xml;h=7885b0748a70e00b2a2f5e3bff082183adaf1b1a;hb=5198dabcce9da535c4531b53990cfa11bd9f7896;hp=81f9deab365bf936e11e7f82b8cd63be8553290b;hpb=ba60f9054e7aee0b817cfef4f715b0022818bbb3;p=elogind.git
diff --git a/man/systemd.socket.xml b/man/systemd.socket.xml
index 81f9deab3..7885b0748 100644
--- a/man/systemd.socket.xml
+++ b/man/systemd.socket.xml
@@ -9,16 +9,16 @@
Copyright 2010 Lennart Poettering
systemd is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
+ 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
- General Public License for more details.
+ Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see .
-->
@@ -44,7 +44,7 @@
systemd.socket
- systemd socket configuration files
+ Socket unit configuration
@@ -76,7 +76,10 @@
,
and
commands are executed
- in.
+ in, and in
+ systemd.kill5
+ which define the way the processes are
+ terminated.
For each socket file a matching service file
(see
@@ -95,9 +98,35 @@
which services are instantiated for each incoming
connection.
+ Unless DefaultDependencies=
+ is set to , socket units will
+ implicitly have dependencies of type
+ Requires= and
+ After= on
+ sysinit.target as well as
+ dependencies of type Conflicts= and
+ Before= on
+ shutdown.target. These ensure
+ that socket units pull in basic system
+ initialization, and are terminated cleanly prior to
+ system shutdown. Only sockets involved with early
+ boot or late system shutdown should disable this
+ option.
+
Socket units may be used to implement on-demand
starting of services, as well as parallelized starting
of services.
+
+ Note that the daemon software configured for
+ socket activation with socket units needs to be able
+ to accept sockets from systemd, either via systemd's
+ native socket passing interface (see
+ sd_listen_fds3
+ for details) or via the traditional
+ inetd8-style
+ socket passing (i.e. sockets passed in via STDIN and
+ STDOUT, using StandardInput=socket
+ in the service file).
@@ -108,7 +137,9 @@
supervises. A number of options that may be used in
this section are shared with other unit types. These
options are documented in
- systemd.exec5. The
+ systemd.exec5
+ and
+ systemd.kill5. The
options specific to the [Socket] section of socket
units are the following:
@@ -130,7 +161,7 @@
family.
If the address starts with an
- ampersand (@) it is read as abstract
+ at symbol (@) it is read as abstract
namespace socket in the AF_UNIX
family. The @ is replaced with a NUL
character before binding. For details
@@ -139,8 +170,13 @@
If the address string is a
single number it is read as port
- number to listen on for both IPv4 and
- IPv6.
+ number to listen on via
+ IPv6. Depending on the value of
+ BindIPv6Only= (see below) this
+ might result in the service being
+ available via both IPv6 and IPv4 (default) or
+ just via IPv6.
+ If the address string is a
string in the format v.w.x.y:z it is
@@ -150,7 +186,12 @@
If the address string is a
string in the format [x]:y it is read
- as IPv6 address x on a port y.
+ as IPv6 address x on a port y. Note
+ that this might make the service
+ available via IPv4, too, depending on
+ the BindIPv6Only=
+ setting (see below).
+ Note that SOCK_SEQPACKET
(i.e. ListenSequentialPacket=)
@@ -186,12 +227,57 @@
Specifies a file
system FIFO to listen on. This expects
an absolute file system path as
- argument. Behaviour otherwise is very
+ argument. Behavior otherwise is very
similar to the
ListenDatagram=
directive above.
+
+ ListenSpecial=
+ Specifies a special
+ file in the file system to listen
+ on. This expects an absolute file
+ system path as argument. Behavior
+ otherwise is very similar to the
+ ListenFIFO=
+ directive above. Use this to open
+ character device nodes as well as
+ special files in
+ /proc and
+ /sys.
+
+
+
+ ListenNetlink=
+ Specifies a Netlink
+ family to create a socket for to
+ listen on. This expects a short string
+ referring to the AF_NETLINK family
+ name (such as audit
+ or kobject-uevent)
+ as argument, optionally suffixed by a
+ whitespace followed by a multicast
+ group integer. Behavior otherwise is
+ very similar to the
+ ListenDatagram=
+ directive above.
+
+
+
+ ListenMessageQueue=
+ Specifies a POSIX
+ message queue name to listen on. This
+ expects a valid message queue name
+ (i.e. beginning with /). Behavior
+ otherwise is very similar to the
+ ListenFIFO=
+ directive above. On Linux message
+ queue descriptors are actually file
+ descriptors and can be inherited
+ between processes.
+
+
BindIPv6Only=Takes a one of
@@ -210,7 +296,10 @@
default, surprise!) the system wide
default setting is used, as controlled
by
- /proc/sys/net/ipv6/bindv6only.
+ /proc/sys/net/ipv6/bindv6only,
+ which in turn defaults to the
+ equivalent of
+ .
@@ -251,8 +340,10 @@
directories are automatically created
if needed. This option specifies the
file system access mode used when
- creating these directories. Defaults
- to 0755.
+ creating these directories. Takes an
+ access mode in octal
+ notation. Defaults to
+ 0755.
@@ -261,7 +352,8 @@
system socket of FIFO, this option
specifies the file system access mode
used when creating the file
- node. Defaults to
+ node. Takes an access mode in octal
+ notation. Defaults to
0666.
@@ -402,6 +494,19 @@
for details.
+
+ MessageQueueMaxMessages=,
+ MessageQueueMessageSize=
+ These two settings
+ take integer values and control the
+ mq_maxmsg resp. mq_msgsize field when
+ creating the message queue. Note that
+ either none or both of these variables
+ need to be set. See
+ mq_setattr3
+ for details.
+
+
FreeBind=Takes a boolean
@@ -419,19 +524,73 @@
address. Defaults to .
+
+ Transparent=
+ Takes a boolean
+ value. Controls the IP_TRANSPARENT
+ socket option. Defaults to
+ .
+
+
+
+ Broadcast=
+ Takes a boolean
+ value. This controls the SO_BROADCAST
+ socket option, which allows broadcast
+ datagrams to be sent from this
+ socket. Defaults to
+ .
+
+
+
+ PassCredentials=
+ Takes a boolean
+ value. This controls the SO_PASSCRED
+ socket option, which allows AF_UNIX sockets to
+ receive the credentials of the sending
+ process in an ancillary message.
+ Defaults to
+ .
+
+
+
+ PassSecurity=
+ Takes a boolean
+ value. This controls the SO_PASSSEC
+ socket option, which allows AF_UNIX
+ sockets to receive the security
+ context of the sending process in an
+ ancillary message. Defaults to
+ .
+
+
+
+ TCPCongestion=
+ Takes a string
+ value. Controls the TCP congestion
+ algorithm used by this socket. Should
+ be one of "westwood", "veno", "cubic",
+ "lp" or any other available algorithm
+ supported by the IP stack. This
+ setting applies only to stream
+ sockets.
+
+
ExecStartPre=ExecStartPost=
- Takes a command line,
- which is executed before (resp. after)
- the listening sockets/FIFOs are created and
+ Takes one or more
+ command lines, which are executed
+ before (resp. after) the listening
+ sockets/FIFOs are created and
bound. The first token of the command
line must be an absolute file name,
then followed by arguments for the
- process. If specified more than once,
- all commands are executed one after
- the other, fully serialized. The use of
- these settings is optional.
+ process. Multiple command lines may be
+ specified following the same scheme as
+ used for
+ ExecStartPre= of
+ service unit files.
@@ -440,10 +599,11 @@
Additional commands
that are executed before (resp. after)
the listening sockets/FIFOs are closed
- and removed. If specified more than
- once, all commands are executed one
- after the other, fully serialized. The use of
- these settings is optional.
+ and removed. Multiple command lines
+ may be specified following the same
+ scheme as used for
+ ExecStartPre= of
+ service unit files.
@@ -461,40 +621,43 @@
will be terminated forcibly via
SIGTERM, and after another delay of
this time with SIGKILL. (See
- below.)
+ in systemd.kill5.)
Takes a unit-less value in seconds, or
a time span value such as "5min
20s". Pass 0 to disable the timeout
logic. Defaults to
- 60s.
+ 90s.
- KillMode=
- Specifies how
- processes of this socket unit shall be
- killed. One of
- ,
- ,
- ,
- .
-
- This option is mostly equivalent
- to the
- option of service files. See
- systemd.service5
- for details.
+ Service=
+ Specifies the service
+ unit name to activate on incoming
+ traffic. This defaults to the service
+ that bears the same name as the socket
+ (ignoring the different suffixes). In
+ most cases it should not be necessary
+ to use this option.
+
+
+ Check
+ systemd.exec5
+ and
+ systemd.kill5
+ for more settings.
+
See Also
- systemd8,
+ systemd1,
systemctl8,
systemd.unit5,
systemd.exec5,
+ systemd.kill5,
systemd.service5