X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsystemd.service.xml;h=0b68aa089072c48a0d4798420fb37bbbc537bdee;hb=e7a2419a2ae2a8f56a3e2840f8d623d2a449277a;hp=dbc82edbd47bbcf0e56662faaa3a2abf59b6daa4;hpb=30d88d54f613f9f7831172876ebfd9e285fb043b;p=elogind.git
diff --git a/man/systemd.service.xml b/man/systemd.service.xml
index dbc82edbd..0b68aa089 100644
--- a/man/systemd.service.xml
+++ b/man/systemd.service.xml
@@ -301,9 +301,7 @@
as. This option is mandatory for
services where
Type= is set to
- , but its use
- is otherwise recommended if the process
- takes a name on the D-Bus bus.
+ .
@@ -365,7 +363,7 @@
used, zero or more commands may be
specified. This can be specified by
providing multiple command lines in
- the same directive , or alternatively,
+ the same directive, or alternatively,
this directive may be specified more
than once with the same effect. If the
empty string is assigned to this
@@ -379,11 +377,10 @@
For each of the specified
commands, the first argument must be
- an absolute and literal path to an
- executable. Optionally, if the
- absolute file name is prefixed with
- @, the second token
- will be passed as
+ an absolute path to an executable.
+ Optionally, if this file name is
+ prefixed with @,
+ the second token will be passed as
argv[0] to the
executed process, followed by the
further arguments specified. If the
@@ -548,7 +545,7 @@
when Type=oneshot is
used, in which case the timeout
is disabled by default
- (see systemd-systemd.conf5).
+ (see systemd-system.conf5).
@@ -569,7 +566,7 @@
the timeout logic. Defaults to
DefaultTimeoutStopSec= from the
manager configuration file
- (see systemd-systemd.conf5).
+ (see systemd-system.conf5).
@@ -593,8 +590,9 @@
(i.e. the "keep-alive ping"). If the time
between two such calls is larger than
the configured time, then the service
- is placed in a failed state. By
- setting Restart= to
+ is placed in a failed state and it will
+ be terminated with SIGABRT.
+ By setting Restart= to
or
, the service
will be automatically restarted. The
@@ -968,21 +966,24 @@
Sockets=Specifies the name of
the socket units this service shall
- inherit the sockets from when the
- service is started. Normally it
- should not be necessary to use this
- setting as all sockets whose unit
+ inherit socket file descriptors
+ from when the service is
+ started. Normally it should not be
+ necessary to use this setting as all
+ socket file descriptors whose unit
shares the same name as the service
- (ignoring the different suffix of course)
- are passed to the spawned
- process.
-
- Note that the same socket may be
- passed to multiple processes at the
- same time. Also note that a different
- service may be activated on incoming
- traffic than that which inherits the
- sockets. Or in other words: the
+ (subject to the different unit name
+ suffix of course) are passed to the
+ spawned process.
+
+ Note that the same socket file
+ descriptors may be passed to multiple
+ processes simultaneously. Also note
+ that a different service may be
+ activated on incoming socket traffic
+ than the one which is ultimately
+ configured to inherit the socket file
+ descriptors. Or in other words: the
Service= setting of
.socket units
does not have to match the inverse of
@@ -1126,40 +1127,6 @@
-
- Compatibility Options
-
- The following options are also available in the
- [Service] section, but exist purely
- for compatibility reasons and should not be used in
- newly written service files.
-
-
-
- SysVStartPriority=
- Set the SysV start
- priority to use to order this service
- in relation to SysV services lacking
- LSB headers. This option is only
- necessary to fix ordering in relation
- to legacy SysV services that have no
- ordering information encoded in the
- script headers. As such, it should only
- be used as a temporary compatibility
- option and should not be used in new unit
- files. Almost always, it is a better
- choice to add explicit ordering
- directives via
- After= or
- Before=,
- instead. For more details, see
- systemd.unit5.
- If used, pass an integer value in the
- range 0-99.
-
-
-
-
Command lines
@@ -1180,13 +1147,15 @@
Each command line is split on whitespace, with
the first item being the command to execute, and the
- subsequent items being the arguments. Double quotes
+ subsequent items being the arguments. Double quotes
("...") and single quotes ('...') may be used, in
which case everything until the next matching quote
- becomes part of the same argument. Quotes themselves
- are removed after parsing. In addition, a trailing
- backslash (\) may be used to merge
- lines.
+ becomes part of the same argument. C-style escapes are
+ also supported, see table below. Quotes themselves are
+ removed after parsing and escape sequences
+ substituted. In addition, a trailing backslash
+ (\) may be used to merge lines.
+ This syntax is intended to be very similar to
shell syntax, but only the meta-characters and
@@ -1200,6 +1169,10 @@
other elements of shell syntax are not
supported.
+ The command to execute must an absolute path
+ name. It may contain spaces, but control characters
+ are not allowed.
+
The command line accepts %
specifiers as described in
systemd.unit5.
@@ -1215,13 +1188,39 @@
contains, resulting in a single argument. Use
$FOO as a separate word on the
command line, in which case it will be replaced by the
- value of the environment variable split at whitespace,
- resulting in zero or more arguments. To pass a literal
- dollar sign, use $$. Variables
- whose value is not known at expansion time are treated
- as empty strings. Note that the first argument
- (i.e. the program to execute) may not be a
- variable.
+ value of the environment variable split at whitespace
+ resulting in zero or more arguments. For this type of
+ expansion, quotes and respected when splitting into
+ words, and afterwards removed.
+
+ Example:
+
+ Environment="ONE=one" 'TWO=two two'
+ExecStart=/bin/echo $ONE $TWO ${TWO}
+
+ This will execute /bin/echo
+ with four arguments: one,
+ two, two, and
+ two two.
+
+ Example:
+ Environment=ONE='one' "TWO='two two' too" THREE=
+ExecStart=/bin/echo ${ONE} ${TWO} ${THREE}
+ExecStart=/bin/echo $ONE $TWO $THREE
+ This results in echo being
+ called twice, the first time with arguments
+ 'one',
+ 'two two' too, ,
+ and the second time with arguments
+ one, two two,
+ too.
+
+
+ To pass a literal dollar sign, use
+ $$. Variables whose value is not
+ known at expansion time are treated as empty
+ strings. Note that the first argument (i.e. the
+ program to execute) may not be a variable.Variables to be used in this fashion may be
defined through Environment= and
@@ -1260,15 +1259,73 @@
&, ;, and
/bin/ls.
- Example:
-
- Environment="ONE=one" 'TWO=two two'
-ExecStart=/bin/echo $ONE $TWO ${TWO}
-
- This will execute /bin/echo
- with four arguments: one,
- two, two, and
- two two.
+
+ C escapes supported in command lines and environment variables
+
+
+
+
+
+ Literal
+ Actual value
+
+
+
+
+ \a
+ bell
+
+
+ \b
+ backspace
+
+
+ \f
+ form feed
+
+
+ \n
+ newline
+
+
+ \r
+ carriage return
+
+
+ \t
+ tab
+
+
+ \v
+ vertical tab
+
+
+ \\
+ backslash
+
+
+ \"
+ double quotation mark
+
+
+ \'
+ single quotation mark
+
+
+ \s
+ space
+
+
+ \xxx
+ character number xx in hexadecimal encoding
+
+
+ \nnn
+ character number nnn in octal encoding
+
+
+
+