chiark / gitweb /
man: document socket units
[elogind.git] / man / systemd.unit.xml
index 99bd8b3906f06a9c7256b8636b8b59706ed8a034..da077e2097bfe37d77b28dcd8094e3c3ee657f64 100644 (file)
@@ -70,7 +70,7 @@
                 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>. The
                 syntax is inspired by <ulink
                 url="http://standards.freedesktop.org/desktop-entry-spec/latest/">XDG
-                Desktop Entry Specificiation</ulink> <filename>.desktop</filename> files, which are in turn
+                Desktop Entry Specification</ulink> <filename>.desktop</filename> files, which are in turn
                 inspired by Microsoft Windows
                 <filename>.ini</filename> files.</para>
 
                 <option>false</option> and <option>off</option> are
                 equivalent.</para>
 
+                <para>Time span values encoded in unit files can be
+                written in various formats. A stand-alone number
+                specifies a time in seconds. If suffixed with a time
+                unit, the unit is honored. A concatentation of
+                multiple value with units is supported, in which case
+                the values are added up. Example: "50" refers to 50
+                seconds; "2min 200ms" refers to 2 minutes plus 200
+                milliseconds, i.e. 120200ms. The following time units
+                are understood: s, min, h, d, w, ms, us.</para>
+
                 <para>Empty lines and lines starting with # or ; are
                 ignored. This may be used for commenting.</para>
 
                 activation which makes dependencies implicit, which
                 both results in a simpler and more flexible
                 system.</para>
+
+                <para>Some unit names reflect paths existing in the
+                file system name space. Example: a device unit
+                <filename>dev-sda.device</filename> refers to a device
+                with the device node <filename>/dev/sda</filename> in
+                the file system namespace. If this applies a special
+                way to escape the path name is used, so that it is
+                usable as part of a file name. Basically, given a path,
+                "/" is replaced by "-", and all unprintable characters
+                and the "-" are replaced by C-style "\x20"
+                escapes. This escaping is reversible.</para>
+
+                <para>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
+                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
+                unit template that shares the same name but with the
+                instance string (i.e. the part between the @ character
+                and the suffix) removed. Example: if a service
+                <filename>getty@tty3.service</filename> is requested
+                and no file by that name is found, systemd will look
+                for <filename>getty@.service</filename> and
+                instantiate a service from that configuration file if
+                it is found. To refer to the instance string from
+                within the configuration file you may use the special
+                <literal>%i</literal> specifier in many of the
+                configuration options. Other specifiers that may be
+                used are <literal>%n</literal>, <literal>%N</literal>,
+                <literal>%p</literal>, <literal>%P</literal> and
+                <literal>%I</literal>, 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.</para>
         </refsect1>
 
         <refsect1>
                                 must be fulfilled and otherwise the
                                 transaction fails. Hence, this option
                                 may be used to configure dependencies
-                                that are normally honoured unless the
+                                that are normally honored unless the
                                 user explicitly starts up the unit, in
                                 which case whether they failed or not
                                 is irrelevant.</para></listitem>
                                 dependency of another unit start-up
                                 will succeed. This is mostly a safety
                                 feature to ensure that the user does
-                                not accidently activate units that are
+                                not accidentally activate units that are
                                 not intended to be activated
                                 explicitly. This option defaults to
                                 <option>false</option>.</para></listitem>
                         <varlistentry>
                                 <term><varname>Alias=</varname></term>
 
-                                <listitem><para>Additional names this
+                                <listitem><para>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
+                                time,
                                 <command>systemd-install</command>
                                 will create symlinks from these names
                                 to the unit file name. Note that this