X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsystemd.service.xml;h=94a21d3fe3d99c2160611e590c15d70de69a2344;hb=e054f8333d7ba2e598784a9718e751c5d956ac9e;hp=449fe6561d8fbf08b1801aa759d426aee9d5d3a8;hpb=0d624a785aed0423ee87f70d33de97df9662844b;p=elogind.git
diff --git a/man/systemd.service.xml b/man/systemd.service.xml
index 449fe6561..94a21d3fe 100644
--- a/man/systemd.service.xml
+++ b/man/systemd.service.xml
@@ -54,33 +54,62 @@
Description
- A configuration file ending in .service encodes
- information about a process controlled and supervised
- by systemd.
+ A unit configuration file whose name ends in
+ .service encodes information
+ about a process controlled and supervised by
+ systemd.This man page lists the configuration options
specific to this unit type. See
systemd.unit5
for the common options of all unit configuration
files. The common configuration items are configured
- in the generic [Unit] and [Install] sections. The
- service specific configuration options are configured
- in the [Service] section.
-
- Additional options are listed in systemd.exec5.
+ in the generic [Unit] and
+ [Install] sections. The service
+ specific configuration options are configured in the
+ [Service] section.
+
+ Additional options are listed in
+ systemd.exec5,
+ which define the execution environment the commands
+ are executed in.
+
+ Unless DefaultDependencies=
+ is set to , service units will
+ implicitly have dependencies of type
+ Requires= and
+ After= on
+ basic.target as well as
+ dependencies of type Conflicts= and
+ Before= on
+ shutdown.target. These ensure
+ that normal service units pull in basic system
+ initialization, and are terminated cleanly prior to
+ system shutdown. Only services involved with early
+ boot or late system shutdown should disable this
+ option.
+
+ If a service is requested under a certain name
+ but no unit configuration file is found, systemd looks
+ for a SysV init script by the same name (with the
+ .service suffix removed) and
+ dynamically creates a service unit from that
+ script. This is useful for compatibility with
+ SysV.Options
- Service files must include a [Service] section,
- which carries information about the service and the
- process it supervises. A number of options that may be
- used in this section are shared with other unit
- types. These options are documented in
+ Service files must include a
+ [Service] section, which carries
+ information about the service and the process it
+ 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
- options specific to the [Service] section of service
- units are the following:
+ options specific to the [Service]
+ section of service units are the following:
@@ -139,14 +168,18 @@
Behaviour of
is similar to
- , however it
- is expected that the daemon acquires a
+ , however it is
+ expected that the daemon acquires a
name on the D-Bus bus, as configured
by
BusName=. systemd
will proceed starting follow-up units
after the D-Bus bus name has been
- acquired.
+ acquired. Service units with this
+ option configured implicitly have
+ dependencies on the
+ dbus.target
+ unit.
Behaviour of
is similar to
@@ -159,10 +192,13 @@
starting follow-up units after this
notification message has been sent. If
this option is used
- (see
+ NotifyAccess= (see
below) must be set to open access to
the notification socket provided by
- systemd.
+ systemd. If
+ NotifyAccess= is not
+ set, it will be implicitly set to
+ .
@@ -216,15 +252,36 @@
services. This option may not be
specified more than once. Optionally,
if the absolute file name is prefixed
- with @, the second token will be
- passed as argv[0] to the executed
- process, followed by the further
- arguments specified. Unless
- is set,
- the process started via this command
- line will be considered the main
- process of the
- daemon.
+ with @, the second
+ token will be passed as
+ argv[0] to the
+ executed process, followed by the
+ further arguments specified. If the
+ first token is prefixed with
+ - an error code of
+ the command normally considered a
+ failure is ignored and considered
+ success. If both -
+ and @ are used for
+ the same command the latter must
+ preceed the latter. Unless
+ Type=forking is
+ set, the process started via this
+ command line will be considered the
+ main process of the daemon. The
+ command line accepts % specifiers as
+ described in
+ systemd.unit5. On
+ top of that basic environment variable
+ substitution is supported, where
+ ${FOO} is replaced
+ by the string value of the environment
+ variable of the same name. Also
+ $FOO may appear as
+ seperate word on the command line in
+ which case the variable is replaced by
+ its value split at
+ whitespaces.
@@ -233,31 +290,58 @@
Additional commands
that are executed before (resp. after)
the command in
- ExecStart=. If
- specified more than once, all commands
- are executed one after the other,
- serially. Use of these settings is
- optional.
+ ExecStart=. Multiple
+ command lines may be concatenated in a
+ single directive, by seperating them
+ by semicolons (these semicolons must
+ be passed as seperate words). In that
+ case, the commands are executed one
+ after the other,
+ serially. Alternatively, these
+ directives may be specified more than
+ once whith the same effect. However,
+ the latter syntax is not recommended
+ for compatibility with parsers
+ suitable for XDG
+ .desktop files.
+ Use of these settings is
+ optional. Specifier and environment
+ variable substitution is
+ supported.
ExecReload=Commands to execute to
trigger a configuration reload in the
- service. If used more than once, all
- commands are executed one after the
- other, serially. Use of this setting is optional.
-
+ service. This argument takes multiple
+ command lines, following the same
+ scheme as pointed out for
+ ExecStartPre=
+ above. Use of this setting is
+ optional. Specifier and environment
+ variable substitution is supported
+ here following the same scheme as for
+ ExecStart=. One
+ special environment variable is set:
+ if known $MAINPID is
+ set to the main process of the
+ daemon, and may be used for command
+ lines like the following:
+ /bin/kill -HUP
+ $(MAINPID).
ExecStop=Commands to execute to
stop the service started via
- ExecStart=. If used
- more than once, all commands are
- executed one after the other,
- serially. Use of this setting is
+ ExecStart=. This
+ argument takes multiple command lines,
+ following the same scheme as pointed
+ out for
+ ExecStartPre=
+ above. Use of this setting is
optional. All processes remaining for
a service after the commands
configured in this option are run are
@@ -266,7 +350,11 @@
(see below). If this option is not
specified the process is terminated
right-away when service stop is
- requested.
+ requested. Specifier and environment
+ variable substitution is supported
+ (including
+ $(MAINPID), see
+ above).
@@ -275,11 +363,15 @@
that are executed after the service
was stopped using the commands
configured in
- ExecStop=. If
- specified more than once, all commands
- are executed one after the other,
- serially. Use of these settings is
- optional.
+ ExecStop=. This
+ argument takes multiple command lines,
+ following the same scheme as pointed
+ out for
+ ExecStartPre. Use
+ of these settings is
+ optional. Specifier and environment
+ variable substitution is
+ supported.
@@ -308,7 +400,7 @@
forcibly via SIGTERM, and after
another delay of this time with
SIGKILL. (See
-
+ KillMode=
below.) Takes a unit-less value in seconds, or a
time span value such as "5min
20s". Pass 0 to disable the timeout
@@ -446,7 +538,7 @@
Processes will first be
terminated via SIGTERM. If then after
a delay (configured via the
- option)
+ TimeoutSec= option)
processes still remain, the
termination request is repeated with
the SIGKILL signal. See
@@ -501,7 +593,7 @@
See Also
- systemd8,
+ systemd1,
systemctl8,
systemd.unit5,
systemd.exec5