X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsystemd.unit.xml;h=d61426a8454be353561054d80b0d3c53f6b2963b;hp=1fd609dc851d3ff95250fc820b7617bcef265547;hb=1bee43de64aadb700dcb32958372714ec56c97b8;hpb=05cc726731c5cec952722f1c14acb08e3d4d5e98 diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml index 1fd609dc8..d61426a84 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,6 +116,8 @@ systemd.path5, systemd.timer5, systemd.snapshot5. + systemd.slice5. + systemd.scope5. Unit files are loaded from a set of paths @@ -118,9 +126,9 @@ 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 +136,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 +160,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,9 +179,9 @@ .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 + files with the suffix .conf from this directory will be parsed after the file itself is parsed. This is useful to alter or add configuration settings to a unit, without having to modify their @@ -198,7 +206,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 +219,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 +238,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 +257,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 +283,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 +301,7 @@ - Load path when running in session mode (<option>--user</option>). + Load path when running in user mode (<option>--user</option>). @@ -324,8 +315,8 @@ - /tmp/systemd-generator.early.XXXXXX - Generated units (early) + $HOME/.config/systemd/user + User configuration /etc/systemd/user @@ -333,23 +324,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 +337,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 +359,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). @@ -471,7 +461,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 @@ -634,7 +624,7 @@ type After= or Before=. If two units have no ordering dependencies - between them they are shut down + between them, they are shut down or started up simultaneously, and no ordering takes place. @@ -682,12 +672,12 @@ OnFailureIsolate= Takes a boolean - argument. If the + argument. If , the unit 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 + be stopped. If this is set, only a single unit may be listed in OnFailure=. Defaults to @@ -698,7 +688,7 @@ IgnoreOnIsolate= Takes a boolean - argument. If + argument. If , this unit will not be stopped when isolating another unit. Defaults to . @@ -708,7 +698,7 @@ IgnoreOnSnapshot= Takes a boolean - argument. If + argument. If , this unit will not be included in snapshots. Defaults to for device and @@ -720,7 +710,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 +729,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 +752,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 +769,7 @@ DefaultDependencies= Takes a boolean - argument. If + argument. If , (the default), a few default dependencies will implicitly be created for the unit. The actual @@ -797,7 +787,7 @@ highly recommended to leave this option enabled for the majority of common units. If set to - this option + , this option does not disable all implicit dependencies, just non-essential ones. @@ -809,7 +799,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 +841,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 +856,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= @@ -969,13 +959,14 @@ xen, bochs, chroot, + uml, openvz, lxc, lxc-libvirt, 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. @@ -1025,12 +1016,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 @@ -1041,30 +1032,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. @@ -1115,19 +1106,46 @@ WantedBy= RequiredBy= - Installs a symlink in - the .wants/ - or .requires/ - subdirectory for a unit, respectively. This has the - effect that when the listed unit name - is activated the unit listing it is - activated - too. WantedBy=foo.service + A symbolic link is + created in the + .wants/ or + .requires/ directory + of the listed unit when this unit is + activated 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 + current unit will be started when the + listed unit is started. See the + description of + Wants= and + Requires= in the + [Unit] section for details. + + WantedBy=foo.service in a service bar.service is mostly equivalent to Alias=foo.service.wants/bar.service - in the same file. + in the same file. In case of template + units, systemctl enable + must be called with an instance name, and + this instance will be added to the + .wants/ or + .requires/ list + of the listed unit. + E.g. WantedBy=getty.target + in a service + getty@.service + will result in systemctl + enable getty@tty2.service + creating a + getty.target.wants/getty@tty2.service + link to getty@.service. + @@ -1147,7 +1165,7 @@ The following specifiers are interpreted in the - Install section: %n, %N, %p, %i, %U, %u, %m, %H, %b. + Install section: %n, %N, %p, %i, %U, %u, %m, %H, %b, %v. For their meaning see the next section. @@ -1265,6 +1283,11 @@ Host name The hostname of the running system. + + %v + Kernel release + Identical to uname -r output. + %% Escaped % @@ -1291,9 +1314,12 @@ systemd.path5, systemd.timer5, systemd.snapshot5, + systemd.scope5, + systemd.slice5, systemd.time7, capabilities7, - systemd.directives7 + systemd.directives7, + uname1