Skip to content

Commit

Permalink
man: document that unit file globbing only operates on primary unit n…
Browse files Browse the repository at this point in the history
…ames

See: #2397
  • Loading branch information
poettering committed Jan 27, 2016
1 parent 1b53f64 commit 1f00ede
Showing 1 changed file with 12 additions and 15 deletions.
27 changes: 12 additions & 15 deletions man/systemctl.xml
Expand Up @@ -683,14 +683,11 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
<para>Start (activate) one or more units specified on the
command line.</para>

<para>Note that glob patterns operate on a list of currently
loaded units. Units which are not active and are not in a
failed state usually are not loaded, and would not be
matched by any pattern. In addition, in case of
instantiated units, systemd is often unaware of the
instance name until the instance has been started. Therefore,
using glob patterns with <command>start</command>
has limited usefulness.</para>
<para>Note that glob patterns operate on the set of primary names of currently loaded units. Units which
are not active and are not in a failed state usually are not loaded, and will not be matched by any
pattern. In addition, in case of instantiated units, systemd is often unaware of the instance name until
the instance has been started. Therefore, using glob patterns with <command>start</command> has limited
usefulness. Also, secondary alias names of units are not considered.</para>
</listitem>
</varlistentry>
<varlistentry>
Expand Down Expand Up @@ -1724,23 +1721,23 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
are equivalent to:
<programlisting># systemctl status dev-sda.device
# systemctl status home.mount</programlisting>
In the second case, shell-style globs will be matched against
currently loaded units; literal unit names, with or without
a suffix, will be treated as in the first case. This means that
literal unit names always refer to exactly one unit, but globs
may match zero units and this is not considered an error.</para>
In the second case, shell-style globs will be matched against the primary names of all currently loaded units;
literal unit names, with or without a suffix, will be treated as in the first case. This means that literal unit
names always refer to exactly one unit, but globs may match zero units and this is not considered an
error.</para>

<para>Glob patterns use
<citerefentry project='man-pages'><refentrytitle>fnmatch</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
so normal shell-style globbing rules are used, and
<literal>*</literal>, <literal>?</literal>,
<literal>[]</literal> may be used. See
<citerefentry project='man-pages'><refentrytitle>glob</refentrytitle><manvolnum>7</manvolnum></citerefentry>
for more details. The patterns are matched against the names of
for more details. The patterns are matched against the primary names of
currently loaded units, and patterns which do not match anything
are silently skipped. For example:
<programlisting># systemctl stop sshd@*.service</programlisting>
will stop all <filename>sshd@.service</filename> instances.
will stop all <filename>sshd@.service</filename> instances. Note that alias names of units, and units that aren't
loaded are not considered for glob expansion.
</para>

<para>For unit file commands, the specified
Expand Down

0 comments on commit 1f00ede

Please sign in to comment.