X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsystemd.unit.xml;h=f72b947dca052ffefc7fe99d0eb344638a9b829d;hp=250989fe0f0b044f6234fe58b4ec6c817bb85d7c;hb=008d348eddce97ef807fb908484efb0ade3172c5;hpb=2528a7a62c4ad9b2f4773b608d208239299da50c diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml index 250989fe0..f72b947dc 100644 --- a/man/systemd.unit.xml +++ b/man/systemd.unit.xml @@ -182,13 +182,30 @@ %i specifier in many of the configuration options. Other specifiers that may be used are %n, %N, - %p, %P and - %I, for the full unit name, the - unescaped unit name, the prefix name, the unescaped - prefix name and the unescaped instance name, - respectively. The prefix name here refers to the - string before the @, i.e. "getty" in the example - above, where "tty3" is the instance name. + %p, %P, + %I and %f, for + the full unit name, the unescaped unit name, the + prefix name, the unescaped prefix name, the unescaped + instance name and the unescaped filename, + respectively. The unescaped filename is either the + unescaped instance name (if set) with / prepended (if + necessary), or the prefix name similarly prepended + with /. The prefix name here refers to the string + before the @, i.e. "getty" in the example above, where + "tty3" is the instance name. + + If a unit file is empty (i.e. has the file size + 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 + fully disable a unit, making it impossible to start it + even manually. + + The unit file format is covered by the + Interface + Stability Promise. @@ -418,8 +435,9 @@ Lists one or more units that are activated when this - unit fails (i.e. enters maintenance - state). + unit enters the + 'failed' + state. @@ -552,24 +570,67 @@ time. If this time limit is reached the job will be cancelled, the unit however will not change state or even - enter maintenance mode. This value - defaults to 0 (job timeouts disabled), - except for device units. NB: this - timeout is independent from any - unit-specific timeout (for example, - the timeout set with + enter the 'failed' + mode. This value defaults to 0 (job + timeouts disabled), except for device + units. NB: this timeout is independent + from any unit-specific timeout (for + example, the timeout set with Timeout= in service - units) as the job timeout has no effect - on the unit itself, only on the job - that might be pending for it. Or in - other words: unit-specific timeouts + units) as the job timeout has no + effect on the unit itself, only on the + job that might be pending for it. Or + in other words: unit-specific timeouts are useful to abort unit state changes, and revert them. The job timeout set with this option however - is useful to abort only the job waiting - for the unit state to change. + is useful to abort only the job + waiting for the unit state to + change. + + ConditionPathExists= + ConditionKernelCommandLine= + + Before starting a unit + verify that the specified condition is + true. With + ConditionPathExists= + a file existance condition can be + checked before a unit is started. If + the specified absolute path name does + not exist startup of a unit will not + actually happen, however the unit is + still useful for ordering purposes in + this case. The condition is checked at + the time the queued start job is to be + executed. If the absolute path name + passed to + ConditionPathExists= + is prefixed with an exclamation mark + (!), the test is negated, and the unit + only started if the path does not + exist. Similarly + ConditionKernelCommandLine= + may be used to check whether a + specific kernel command line option is + set (or if prefixed with the + exclamation mark unset). The argument + must either be a single word, or an + assignment (i.e. two words, seperated + by the equality sign). In the former + case the kernel command line is search + for the word appearing as is, or as + left hand side of an assignment. In + the latter case the exact assignment + is looked for with right and left hand + side matching. If multiple conditions + are specified the unit will be + executed iff at least one of them + apply (i.e. a logical OR is + applied). + Unit file may include a [Install] section, which