X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=man%2Fsystemd.service.xml;h=f43201dc7e9b9501a1f36631d657c63ce846a75f;hb=97f4e8875088ff34da535864afa0054f24071cd5;hp=258b059efa26b45f4a72ccfaf93d08642504c721;hpb=5430f7f2bc7330f3088b894166bf3524a067e3d8;p=elogind.git
diff --git a/man/systemd.service.xml b/man/systemd.service.xml
index 258b059ef..f43201dc7 100644
--- a/man/systemd.service.xml
+++ b/man/systemd.service.xml
@@ -44,7 +44,7 @@
systemd.service
- systemd service configuration files
+ Service unit configuration
@@ -72,7 +72,10 @@
Additional options are listed in
systemd.exec5,
which define the execution environment the commands
- are executed in.
+ are executed in, and in
+ systemd.kill5
+ which define the way the processes of the service are
+ terminated.
Unless DefaultDependencies=
is set to , service units will
@@ -95,7 +98,12 @@
.service suffix removed) and
dynamically creates a service unit from that
script. This is useful for compatibility with
- SysV.
+ SysV. Note that this compatibility is quite
+ comprehensive but not 100%. For details about the
+ incomptibilities see the Incompatibilities
+ with SysV document.
+
@@ -107,7 +115,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 [Service]
section of service units are the following:
@@ -121,12 +131,14 @@
,
,
,
- .
+ or
+ .
If set to
(the default
- value) it is expected that the process
- configured with
+ value if BusName=
+ is not specified) it is expected that
+ the process configured with
ExecStart= is the
main process of the service. In this
mode, if the process offers
@@ -181,7 +193,9 @@
option configured implicitly gain
dependencies on the
dbus.socket
- unit.
+ unit. This type is the default if
+ BusName= is
+ specified.
Behaviour of
is similar to
@@ -201,6 +215,16 @@
NotifyAccess= is
not set, it will be implicitly set to
.
+
+ Behaviour of
+ is very similar
+ to , however
+ actual execution of a the service
+ binary is delayed until all jobs are
+ dispatched. This may be used to avoid
+ interleaving of output of shell
+ services with the status output on the
+ console.
@@ -398,12 +422,13 @@
configured in this option are run are
terminated according to the
KillMode= setting
- (see below). If this option is not
- specified the process is terminated
- right-away when service stop is
- requested. Specifier and environment
- variable substitution is supported
- (including
+ (see
+ systemd.kill5). If
+ this option is not specified the
+ process is terminated right-away when
+ service stop is requested. Specifier
+ and environment variable substitution
+ is supported (including
$MAINPID, see
above).
@@ -452,11 +477,13 @@
another delay of this time with
SIGKILL. (See
KillMode=
- below.) Takes a unit-less value in seconds, or a
+ 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
- 90s.
+ 90s, except when Type=oneshot is
+ used in which case the timeout
+ is disabled by default.
@@ -466,26 +493,29 @@
is activated when the start-up is
completed. The service must call
sd_notify3
- regularly with "WATCHDOG=1". If the
- time between two such calls is larger
- than the configured time then the
- service is placed in a failure
- state. By setting
- Restart=
- to or
+ regularly with "WATCHDOG=1" (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 failure state. By
+ setting Restart= to
+ or
the service
will be automatically restarted. The
time configured here will be passed to
the executed service process in the
WATCHDOG_USEC=
- environment variable. If
+ environment variable. This allows
+ daemons to automatically enable the
+ keep-alive pinging logic if watchdog
+ support is enabled for the service. If
this option is used
NotifyAccess= (see
below) should be set to open access to
the notification socket provided by
systemd. If
- NotifyAccess= is not
- set, it will be implicitly set to
+ NotifyAccess= is
+ not set, it will be implicitly set to
. Defaults to 0,
which disables this
feature.
@@ -511,18 +541,20 @@
it will be
restarted only when it exited with an
exit code not equalling 0, when
- terminated by a signal, when an
- operation times out or when the
+ terminated by a signal (including on
+ core dump), when an operation (such as
+ service reload) times out or when the
configured watchdog timeout is
triggered. If set to
it will be
restarted only if it exits due to
- reception of an uncaught signal. If
- set to the
- service will be restarted regardless
- whether it exited cleanly or not,
- got terminated abnormally by a
- signal or hit a timeout.
+ reception of an uncaught signal
+ (including on core dump). If set to
+ the service
+ will be restarted regardless whether
+ it exited cleanly or not, got
+ terminated abnormally by a signal or
+ hit a timeout.
@@ -572,95 +604,6 @@
false.
-
- 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 temporary compatibility
- option, and 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.
-
-
-
- KillMode=
- Specifies how
- processes of this service shall be
- killed. One of
- ,
- ,
- .
-
- If set to
- all
- remaining processes in the control
- group of this service will be
- terminated on service stop, after the
- stop command (as configured with
- ExecStop=) is
- executed. If set to
- only the main
- process itself is killed. If set to
- no process is
- killed. In this case only the stop
- command will be executed on service
- stop, but no process be killed
- otherwise. Processes remaining alive
- after stop are left in their control
- group and the control group continues
- to exist after stop unless it is
- empty. Defaults to
- .
-
- Processes will first be
- terminated via SIGTERM (unless the
- signal to send is changed via
- KillSignal=). If
- then after a delay (configured via the
- TimeoutSec= option)
- processes still remain, the
- termination request is repeated with
- the SIGKILL signal (unless this is
- disabled via the
- SendSIGKILL=
- option). See
- kill2
- for more
- information.
-
-
-
- KillSignal=
- Specifies which signal
- to use when killing a
- service. Defaults to SIGTERM.
-
-
-
-
- SendSIGKILL=
- Specifies whether to
- send SIGKILL to remaining processes
- after a timeout, if the normal
- shutdown procedure left processes of
- the service around. Takes a boolean
- value. Defaults to "yes".
-
-
-
NonBlocking=Set O_NONBLOCK flag
@@ -734,33 +677,6 @@
refers to.
-
- FsckPassNo=
- Set the fsck passno
- priority to use to order this service
- in relation to other file system
- checking services. This option is only
- necessary to fix ordering in relation
- to fsck jobs automatically created for
- all /etc/fstab
- entries with a value in the fs_passno
- column > 0. As such it should only be
- used as option for fsck
- services. 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
- same range as
- /etc/fstab's
- fs_passno column. See
- fstab5
- for details.
-
-
StartLimitInterval=StartLimitBurst=
@@ -782,7 +698,27 @@
are allowed (defaults to 5). These
configuration options are particularly
useful in conjunction with
- Restart=.
+ Restart=, however
+ apply to all kinds of starts
+ (including manual), not just those
+ triggered by the
+ Restart= logic.
+ Note that units which are configured
+ for Restart= and
+ which reach the start limit are not
+ attempted to be restarted anymore,
+ however they may still be restarted
+ manually at a later point from which
+ point on the restart logic is again
+ activated. Note that
+ systemctl
+ reset-failed will cause the
+ restart rate counter for a service to
+ be flushed, which is useful if the
+ administrator wants to manually start
+ a service and the start limit
+ interferes with
+ that.
@@ -822,6 +758,75 @@
+
+ Check
+ systemd.exec5
+ and
+ systemd.kill5
+ for more settings.
+
+
+
+
+ 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 temporary compatibility
+ option, and 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.
+
+
+
+ FsckPassNo=
+ Set the fsck passno
+ priority to use to order this service
+ in relation to other file system
+ checking services. This option is only
+ necessary to fix ordering in relation
+ to fsck jobs automatically created for
+ all /etc/fstab
+ entries with a value in the fs_passno
+ column > 0. As such it should only be
+ used as option for fsck
+ services. 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
+ same range as
+ /etc/fstab's
+ fs_passno column. See
+ fstab5
+ for details.
+
+
+
@@ -830,7 +835,8 @@
systemd1,
systemctl8,
systemd.unit5,
- systemd.exec5
+ systemd.exec5,
+ systemd.kill5