X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsystemd.unit.xml;h=8d6acc7b02e092e135a6168574eb30e0e06a1892;hp=65ba54503713715edab2eb370c77603051e71033;hb=6baf995c17a95ca0d6b5ad0b1f1667c956574816;hpb=6aaa8c2f783cd1b3ac27c5ce40625d032e7e3d71 diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml index 65ba54503..8d6acc7b0 100644 --- a/man/systemd.unit.xml +++ b/man/systemd.unit.xml @@ -60,7 +60,9 @@ target.target, path.path, timer.timer, - snapshot.snapshot + snapshot.snapshot, + slice.slice, + scope.scope /etc/systemd/system/* /run/systemd/system/* @@ -68,7 +70,8 @@ ... - /etc/systemd/user/* + $HOME/.config/systemd/user/* +/etc/systemd/user/* /run/systemd/user/* /usr/lib/systemd/user/* ... @@ -81,12 +84,15 @@ A unit configuration file encodes information about a service, a socket, a device, a mount point, an automount point, a swap file or partition, a start-up - target, a file system path, or a timer controlled and - supervised by - systemd1. The - syntax is inspired by systemd1, + a temporary system state snapshot, a resource + management slice or a group of externally created + processes. The syntax is inspired by XDG - Desktop Entry Specification .desktop files, which are in turn + Desktop Entry Specification + .desktop files, which are in turn inspired by Microsoft Windows .ini files. @@ -110,17 +116,30 @@ systemd.path5, systemd.timer5, systemd.snapshot5. + systemd.slice5. + systemd.scope5. + Various settings are allowed to be specified + more than once, in which case the interpretation + depends on the setting. Often, multiple settings form + a list, and setting to an empty value "resets", which + means that previous assignments are ignored. When this + is allowed, it is mentioned in the description of the + setting. Note that using multiple assignments to the + same value makes the unit file incompatible with + parsers for the XDG .desktop file + format. + Unit files are loaded from a set of paths determined during compilation, described in the next section. Unit files may contain additional options on top of those listed here. If systemd encounters an unknown - option it will write a warning log message but + option, it will write a warning log message but continue loading the unit. If an option is prefixed - with it is ignored completely by + with , it is ignored completely by systemd. Applications may use this to include additional information in the unit files. @@ -128,7 +147,7 @@ written in various formats. For positive settings the strings , , and are - equivalent. For negative settings the strings + equivalent. For negative settings, the strings , , and are equivalent. @@ -152,14 +171,14 @@ space character. This may be used to wrap long lines. Along with a unit file - foo.service the directory + foo.service, the directory foo.service.wants/ may exist. All unit files symlinked from such a directory are implicitly added as dependencies of type Wanted= to the unit. This is useful to hook units into the start-up of other units, without having to modify their unit files. For details - about the semantics of Wanted= see + about the semantics of Wanted=, see below. The preferred way to create symlinks in the .wants/ directory of a unit file is with the enable command of the @@ -171,7 +190,7 @@ .requires/ in this case. Along with a unit file - foo.service a directory + foo.service, a directory foo.service.d/ may exist. All files with the suffix .conf from this directory will be parsed after the file itself is @@ -198,7 +217,7 @@ file system namespace. Example: a device unit dev-sda.device refers to a device with the device node /dev/sda in - the file system namespace. If this applies a special + the file system namespace. If this applies, a special way to escape the path name is used, so that the result is usable as part of a filename. Basically, given a path, "/" is replaced by "-", and all @@ -211,7 +230,7 @@ Optionally, units may be instantiated from a template file at runtime. This allows creation of multiple units from a single configuration file. If - systemd looks for a unit configuration file it will + systemd looks for a unit configuration file, it will first search for the literal unit name in the filesystem. If that yields no success and the unit name contains an @ character, systemd will look for a @@ -230,7 +249,7 @@ configuration options. See below for details. If a unit file is empty (i.e. has the file size - 0) or is symlinked to /dev/null + 0) or is symlinked to /dev/null, its configuration will not be loaded and it appears with a load state of masked, and cannot be activated. Use this as an effective way to @@ -249,10 +268,9 @@ Unit files are loaded from a set of paths determined during compilation, described in the two - tables below. Unit files found in directories higher - in the hierarchy override files with the same name - lower in the hierarchy, thus allowing overrides. - + tables below. Unit files found in directories listed + earlier override files with the same name in + directories lower in the list. When systemd is running in user mode () and the variable @@ -276,33 +294,17 @@ - - /run/systemd/generator.early - Generated units (early) - /etc/systemd/system Local configuration - /run/systemd/systemd - Volatile units - - - /run/systemd/generator - Generated units (middle) - - - /usr/local/lib/systemd/system - Units for local packages + /run/systemd/system + Runtime units /usr/lib/systemd/system - Units for installed packages - - - /run/systemd/generator.late - Generated units (late) + Units of installed packages @@ -310,7 +312,7 @@ - Load path when running in session mode (<option>--user</option>). + Load path when running in user mode (<option>--user</option>). @@ -324,8 +326,8 @@ - /tmp/systemd-generator.early.XXXXXX - Generated units (early) + $HOME/.config/systemd/user + User configuration /etc/systemd/user @@ -333,23 +335,11 @@ /run/systemd/user - Volatile units - - - /tmp/systemd-generator.XXXXXX - Generated units (middle) - - - /usr/local/lib/systemd/user - Units for local packages + Runtime units /usr/lib/systemd/user - Units for installed packages - - - /tmp/systemd-generator.late.XXXXXX - Generated units (late) + Units of installed packages @@ -358,7 +348,10 @@ Additional units might be loaded into systemd ("linked") from directories not on the unit load path. See the link command for - systemctl1. + systemctl1. Also, + some units are dynamically created via generators + Generators. @@ -377,7 +370,15 @@ describing the unit. This is intended for use in UIs to show descriptive information along with the unit - name. + name. The description should contain a name + that means something to the end user. + Apache2 Web Server is a good + example. Bad examples are + high-performance light-weight HTTP + server (too generic) or + Apache2 (too specific and + meaningless for people who do not know + Apache). @@ -420,10 +421,12 @@ of the other units gets deactivated or its activation fails, this unit will be deactivated. This option may be - specified more than once, in which - case requirement dependencies for all - listed names are created. Note that - requirement dependencies do not + specified more than once or multiple + space-separated units may be specified + in one option in which case + requirement dependencies for all + listed names will be created. Note + that requirement dependencies do not influence the order in which services are started or stopped. This has to be configured independently with the @@ -471,7 +474,7 @@ the start-up was pulled in indirectly by some dependency or automatic start-up of units that is not - requested by the user this dependency + requested by the user, this dependency must be fulfilled and otherwise the transaction fails. Hence, this option may be used to configure dependencies @@ -486,22 +489,23 @@ RequisiteOverridable= Similar to - Requires= - and RequiresOverridable=, respectively. However, - if a unit listed here is not started - already it will not be started and the - transaction fails - immediately. + Requires= and + RequiresOverridable=, + respectively. However, if the units + listed here are not started already + they will not be started and the + transaction will fail immediately. + Wants= A weaker version of - Requires=. A unit + Requires=. Units listed in this option will be started if the configuring unit is. However, - if the listed unit fails to start up + if the listed units fail to start or cannot be added to the transaction this has no impact on the validity of the transaction as a whole. This is @@ -511,8 +515,8 @@ Note that dependencies of this type may also be configured outside of - the unit configuration file by - adding a symlink to a + the unit configuration file by adding + symlinks to a .wants/ directory accompanying the unit file. For details see above. @@ -544,7 +548,7 @@ of units. When systemd stops or restarts the units listed here, the action is propagated to this unit. - Note that this is a one way dependency - + Note that this is a one way dependency — changes to this unit do not affect the listed units. @@ -553,12 +557,12 @@ Conflicts= - Configures negative + A space-separated list + of unit names. Configures negative requirement dependencies. If a unit - has a - Conflicts= setting - on another unit, starting the former - will stop the latter and vice + has a Conflicts= + setting on another unit, starting the + former will stop the latter and vice versa. Note that this setting is independent of and orthogonal to the After= and @@ -585,7 +589,8 @@ Before= After= - Configures ordering + A space-separated list + of unit names. Configures ordering dependencies between units. If a unit foo.service contains a setting @@ -634,18 +639,18 @@ type After= or Before=. If two units have no ordering dependencies - between them they are shut down - or started up simultaneously, and - no ordering takes + between them, they are shut down or + started up simultaneously, and no + ordering takes place. OnFailure= - Lists one or more - units that are activated when this - unit enters the + A space-separated list + of one or more units that are + activated when this unit enters the failed state. @@ -654,16 +659,48 @@ PropagatesReloadTo= ReloadPropagatedFrom= - Lists one or more - units where reload requests on the - unit will be propagated to/on the - other unit will be propagated - from. Issuing a reload request on a - unit will automatically also enqueue a - reload request on all units that the - reload request shall be propagated to - via these two - settings. + A space-separated list + of one or more units where reload + requests on this unit will be + propagated to, or reload requests on + the other unit will be propagated to + this unit, respectively. Issuing a + reload request on a unit will + automatically also enqueue a reload + request on all units that the reload + request shall be propagated to via + these two settings. + + + + JoinsNamespaceOf= + + For units that start + processes (such as service units), + lists one or more other units whose + network and/or temporary file + namespace to join. This only applies + to unit types which support the + PrivateNetwork= and + PrivateTmp= + directives (see + systemd.exec5 + for details). If a unit that has this + setting set is started its processes + will see the same + /tmp, + /tmp/var and + network namespace as one listed unit + that is started. If multiple listed + units are already started it is not + defined which namespace is + joined. Note that this setting only + has an effect if + PrivateNetwork= + and/or PrivateTmp= + is enabled for both the unit that + joins the namespace and the unit whose + namespace is joined. @@ -679,26 +716,36 @@ - OnFailureIsolate= - - Takes a boolean - argument. If the - unit listed in + OnFailureJobMode= + + Takes a value of + fail, + replace, + replace-irreversibly, + isolate, + flush, + ignore-dependencies + or + ignore-requirements. Defaults + to + replace. Specifies + how the units listed in OnFailure= will be - enqueued in isolation mode, i.e. all - units that are not its dependency will - be stopped. If this is set only a + enqueued. See + systemctl1's + option + for details on the possible values. If + this is set to + isolate, only a single unit may be listed in - OnFailure=. Defaults - to - . + OnFailure=.. IgnoreOnIsolate= Takes a boolean - argument. If + argument. If , this unit will not be stopped when isolating another unit. Defaults to . @@ -708,7 +755,7 @@ IgnoreOnSnapshot= Takes a boolean - argument. If + argument. If , this unit will not be included in snapshots. Defaults to for device and @@ -720,7 +767,7 @@ StopWhenUnneeded= Takes a boolean - argument. If + argument. If , this unit will be stopped when it is no longer used. Note that in order to minimize the work to be executed, @@ -739,10 +786,10 @@ RefuseManualStop= Takes a boolean - argument. If + argument. If , this unit can only be activated or deactivated indirectly. In - this case explicit start-up + this case, explicit start-up or termination requested by the user is denied, however if it is started or stopped as a @@ -762,10 +809,10 @@ AllowIsolate= Takes a boolean - argument. If + argument. If , this unit may be used with the systemctl isolate - command. Otherwise this will be + command. Otherwise, this will be refused. It probably is a good idea to leave this disabled except for target units that shall be used similar to @@ -779,7 +826,7 @@ DefaultDependencies= Takes a boolean - argument. If + argument. If , (the default), a few default dependencies will implicitly be created for the unit. The actual @@ -809,7 +856,7 @@ When clients are waiting for a job of this unit to complete, time out after the specified - time. If this time limit is reached + time. If this time limit is reached, the job will be cancelled, the unit however will not change state or even enter the failed @@ -851,7 +898,7 @@ Before starting a unit verify that the specified condition is - true. If it is not true the starting + true. If it is not true, the starting of the unit will be skipped, however all ordering dependencies of it are still respected. A failing condition @@ -866,7 +913,7 @@ a file existence condition is checked before a unit is started. If the specified absolute path name does - not exist the condition will + not exist, the condition will fail. If the absolute path name passed to ConditionPathExists= @@ -976,7 +1023,7 @@ systemd-nspawn to test against a specific implementation. If multiple - virtualization technologies are nested + virtualization technologies are nested, only the innermost is considered. The test may be negated by prepending an exclamation mark. @@ -1026,12 +1073,12 @@ battery powered at the time of activation of the unit. This takes a boolean argument. If set to - true the condition + true, the condition will hold only if at least one AC connector of the system is connected to a power source, or if no AC connectors are known. Conversely, if - set to false the + set to false, the condition will hold only if there is at least one AC connector known and all AC connectors are disconnected @@ -1042,30 +1089,30 @@ be used to add a constant condition check value to the unit. It takes a boolean argument. If set to - false the condition + false, the condition will always fail, otherwise succeed. If multiple conditions are - specified the unit will be executed if + specified, the unit will be executed if all of them apply (i.e. a logical AND is applied). Condition checks can be prefixed with a pipe symbol (|) in which case a condition becomes a triggering condition. If at least one triggering condition is defined for a - unit then the unit will be executed if + unit, then the unit will be executed if at least one of the triggering conditions apply and all of the non-triggering conditions. If you prefix an argument with the pipe - symbol and an exclamation mark the + symbol and an exclamation mark, the pipe symbol must be passed first, the exclamation second. Except for ConditionPathIsSymbolicLink=, all path checks follow symlinks. If any of these options is assigned the - empty string the list of conditions is + empty string, the list of conditions is reset completely, all previous condition settings (of any kind) will have no effect. @@ -1099,32 +1146,34 @@ Alias= - Additional names this - unit shall be installed under. The - names listed here must have the same - suffix (i.e. type) as the unit file - name. This option may be specified - more than once, in which case all - listed names are used. At installation - time, - systemctl enable - will create symlinks from these names - to the unit filename. + A space-seperated list + of additional names this unit shall be + installed under. The names listed here + must have the same suffix (i.e. type) + as the unit file name. This option may + be specified more than once, in which + case all listed names are used. At + installation time, systemctl + enable will create symlinks + from these names to the unit + filename. WantedBy= RequiredBy= - A symbolic link is - created in the - .wants/ or - .requires/ folder - of the listed unit when this unit is - activated by systemctl - enable. This has the effect - that a dependency of type - Wants= or + This option may be + used more than once, or a + space-separated list of unit names may + be given. A symbolic link is created + in the .wants/ or + .requires/ + directory of each of the listed units + when this unit is installed by + systemctl enable. + This has the effect that a dependency + of type Wants= or Requires= is added from the listed unit to the current unit. The primary result is that the @@ -1170,7 +1219,12 @@ and systemctl disable will automatically install/uninstall units listed in this option as - well. + well. + + This option may be used more + than once, or a space-separated list + of unit names may be + given. @@ -1246,12 +1300,15 @@ %r Root control group path where units are placed. - For system instances this usually resolves to /system, except in containers, where the path might be prefixed with the container's root control group. + For system instances, this usually resolves to /system, except in containers, where the path might be prefixed with the container's root control group. %R Parent directory of the control group path where units are placed. - For system instances this usually resolves to /, except in containers, where this resolves to the container's root directory. This specifier is particularly useful in the ControlGroup= setting (see systemd.exec5). + For system instances, this usually + resolves to /, except in + containers, where this resolves to the + container's root directory. %t @@ -1324,6 +1381,8 @@ systemd.path5, systemd.timer5, systemd.snapshot5, + systemd.scope5, + systemd.slice5, systemd.time7, capabilities7, systemd.directives7,