X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsystemd.service.xml;h=94a21d3fe3d99c2160611e590c15d70de69a2344;hp=8005a51a472150f8a9fce31f50c21ad7148237f2;hb=8821a00fd5b8cb349bce66816c213573db05ec46;hpb=65232ea79d8f6b1288c33852f89b575a9200162d diff --git a/man/systemd.service.xml b/man/systemd.service.xml index 8005a51a4..94a21d3fe 100644 --- a/man/systemd.service.xml +++ b/man/systemd.service.xml @@ -64,24 +64,52 @@ 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: @@ -140,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 @@ -160,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 + . @@ -217,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. @@ -234,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 @@ -267,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). @@ -276,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. @@ -309,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 @@ -447,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 @@ -502,7 +593,7 @@ See Also - systemd8, + systemd1, systemctl8, systemd.unit5, systemd.exec5