]> git.ipfire.org Git - thirdparty/systemd.git/blame - man/systemctl.xml
man: grammar and wording improvements
[thirdparty/systemd.git] / man / systemctl.xml
CommitLineData
7874bcd6
LP
1<?xml version='1.0'?> <!--*-nxml-*-->
2<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
4a6022f0 3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
7874bcd6
LP
4
5<!--
4a6022f0 6This file is part of systemd.
7874bcd6 7
4a6022f0 8Copyright 2010 Lennart Poettering
7874bcd6 9
4a6022f0
ZJS
10systemd is free software; you can redistribute it and/or modify it
11under the terms of the GNU Lesser General Public License as published by
12the Free Software Foundation; either version 2.1 of the License, or
13(at your option) any later version.
7874bcd6 14
4a6022f0
ZJS
15systemd is distributed in the hope that it will be useful, but
16WITHOUT ANY WARRANTY; without even the implied warranty of
17MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18Lesser General Public License for more details.
7874bcd6 19
4a6022f0
ZJS
20You should have received a copy of the GNU Lesser General Public License
21along with systemd; If not, see <http://www.gnu.org/licenses/>.
7874bcd6
LP
22-->
23
ee5762e3 24<refentry id="systemctl">
7874bcd6 25
4a6022f0
ZJS
26 <refentryinfo>
27 <title>systemctl</title>
28 <productname>systemd</productname>
29
30 <authorgroup>
31 <author>
32 <contrib>Developer</contrib>
33 <firstname>Lennart</firstname>
34 <surname>Poettering</surname>
35 <email>lennart@poettering.net</email>
36 </author>
37 </authorgroup>
38 </refentryinfo>
39
40 <refmeta>
41 <refentrytitle>systemctl</refentrytitle>
42 <manvolnum>1</manvolnum>
43 </refmeta>
44
45 <refnamediv>
46 <refname>systemctl</refname>
47 <refpurpose>Control the systemd system and service manager</refpurpose>
48 </refnamediv>
49
50 <refsynopsisdiv>
51 <cmdsynopsis>
52 <command>systemctl</command>
53 <arg choice="opt" rep="repeat">OPTIONS</arg>
54 <arg choice="plain">COMMAND</arg>
55 <arg choice="opt" rep="repeat">NAME</arg>
56 </cmdsynopsis>
57 </refsynopsisdiv>
58
59 <refsect1>
60 <title>Description</title>
61
62 <para><command>systemctl</command> may be used to
63 introspect and control the state of the
64 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
65 system and service manager.</para>
66 </refsect1>
67
68 <refsect1>
69 <title>Options</title>
70
71 <para>The following options are understood:</para>
72
73 <variablelist>
74 <varlistentry>
75 <term><option>-h</option></term>
76 <term><option>--help</option></term>
77
78 <listitem><para>Prints a short help
79 text and exits.</para></listitem>
80 </varlistentry>
81
82 <varlistentry>
83 <term><option>--version</option></term>
84
85 <listitem>
86 <para>Prints a short version string and exits.</para>
87 </listitem>
88 </varlistentry>
89
90 <varlistentry>
91 <term><option>-t</option></term>
92 <term><option>--type=</option></term>
93
94 <listitem>
e9dd9f95 95 <para>The argument should be a comma-separated list of unit
20b3f379 96 types such as <option>service</option> and
9b9b3d36
MW
97 <option>socket</option>.
98 </para>
20b3f379
ZJS
99
100 <para>If one of the arguments is a unit type, when listing
7b870f60 101 units, limit display to certain unit types. Otherwise, units
4a6022f0
ZJS
102 of all types will be shown.</para>
103
20b3f379 104 <para>As a special case, if one of the arguments is
4a6022f0
ZJS
105 <option>help</option>, a list of allowed values will be
106 printed and the program will exit.</para>
107 </listitem>
108 </varlistentry>
109
9b9b3d36
MW
110 <varlistentry>
111 <term><option>--state=</option></term>
112
113 <listitem>
0f85cbe1
ZJS
114 <para>The argument should be a comma-separated list of unit LOAD,
115 SUB, or ACTIVE states. When listing units, show only those
116 in specified states.</para>
9b9b3d36
MW
117 </listitem>
118 </varlistentry>
119
4a6022f0
ZJS
120 <varlistentry>
121 <term><option>-p</option></term>
122 <term><option>--property=</option></term>
123
124 <listitem>
54c31a79
LP
125 <para>When showing unit/job/manager properties with the
126 <command>show</command> command, limit display to certain
7b870f60 127 properties as specified as argument. If not specified, all
54c31a79 128 set properties are shown. The argument should be a
d2bbca68 129 comma-separated list of property names, such as
7b870f60 130 <literal>MainPID</literal>. If specified more than once, all
033a842c 131 properties with the specified names are shown.</para>
4a6022f0
ZJS
132 </listitem>
133 </varlistentry>
134
135 <varlistentry>
136 <term><option>-a</option></term>
137 <term><option>--all</option></term>
138
139 <listitem>
a5e4972c
LP
140 <para>When listing units, show all loaded units, regardless
141 of their state, including inactive units. When showing
4a6022f0
ZJS
142 unit/job/manager properties, show all properties regardless
143 whether they are set or not.</para>
a5e4972c
LP
144 <para>To list all units installed on the system, use the
145 <command>list-unit-files</command> command instead.</para>
4a6022f0
ZJS
146 </listitem>
147 </varlistentry>
148
afba4199
ZJS
149 <varlistentry>
150 <term><option>--reverse</option></term>
151
152 <listitem>
153 <para>Show reverse dependencies between units with
154 <command>list-dependencies</command>, i.e. units with
155 dependencies of type <varname>Wants=</varname> or
156 <varname>Requires=</varname> on the given unit.
157 </para>
158 </listitem>
159 </varlistentry>
160
161 <varlistentry>
162 <term><option>--after</option></term>
163 <term><option>--before</option></term>
164
165 <listitem>
7b870f60
JE
166 <para>Show which units are started after or before
167 with <command>list-dependencies</command>, respectively.
afba4199
ZJS
168 </para>
169 </listitem>
170 </varlistentry>
171
4a6022f0 172 <varlistentry>
98a6e132 173 <term><option>-l</option></term>
4a6022f0
ZJS
174 <term><option>--full</option></term>
175
176 <listitem>
69d918b0
ZJS
177 <para>Do not ellipsize unit names, process tree entries,
178 journal output, or truncate unit descriptions in the output
179 of <command>status</command>, <command>list-units</command>,
180 <command>list-jobs</command>, and
181 <command>list-timers</command>.</para>
4a6022f0
ZJS
182 </listitem>
183 </varlistentry>
184
991f2a39
ZJS
185 <varlistentry>
186 <term><option>--show-types</option></term>
187
188 <listitem>
189 <para>When showing sockets, show the type of the socket.</para>
190 </listitem>
191 </varlistentry>
192
23ade460 193 <varlistentry>
4dc5b821 194 <term><option>--job-mode=</option></term>
23ade460
MS
195
196 <listitem>
e0e009c0
JE
197 <para>When queuing a new job, this option controls how to deal with
198 already queued jobs. It takes one of <literal>fail</literal>,
4dc5b821
LP
199 <literal>replace</literal>,
200 <literal>replace-irreversibly</literal>,
201 <literal>isolate</literal>,
202 <literal>ignore-dependencies</literal>,
203 <literal>ignore-requirements</literal> or
204 <literal>flush</literal>. Defaults to
205 <literal>replace</literal>, except when the
206 <command>isolate</command> command is used which implies the
207 <literal>isolate</literal> job mode.</para>
208
209 <para>If <literal>fail</literal> is specified and a requested
210 operation conflicts with a pending job (more specifically:
211 causes an already pending start job to be reversed into a stop
212 job or vice versa), cause the operation to fail.</para>
213
214 <para>If <literal>replace</literal> (the default) is
215 specified, any conflicting pending job will be replaced, as
216 necessary.</para>
217
218 <para>If <literal>replace-irreversibly</literal> is specified,
219 operate like <literal>replace</literal>, but also mark the new
220 jobs as irreversible. This prevents future conflicting
221 transactions from replacing these jobs. The jobs can still be
222 cancelled using the <command>cancel</command> command.</para>
223
224 <para><literal>isolate</literal> is only valid for start
225 operations and causes all other units to be stopped when the
226 specified unit is started. This mode is always used when the
227 <command>isolate</command> command is used.</para>
228
229 <para><literal>flush</literal> will cause all queued jobs to
230 be canceled when the new job is enqueued.</para>
231
232 <para>If <literal>ignore-dependencies</literal> is specified,
233 then all unit dependencies are ignored for this new job and
234 the operation is executed immediately. If passed, no required
235 units of the unit passed will be pulled in, and no ordering
236 dependencies will be honored. This is mostly a debugging and
237 rescue tool for the administrator and should not be used by
238 applications.</para>
239
240 <para><literal>ignore-requirements</literal> is similar to
b040723e 241 <literal>ignore-dependencies</literal>, but only causes the
4dc5b821
LP
242 requirement dependencies to be ignored, the ordering
243 dependencies will still be honoured.</para>
23ade460 244 </listitem>
4a6022f0 245
4a6022f0
ZJS
246 </varlistentry>
247
248 <varlistentry>
249 <term><option>-i</option></term>
250 <term><option>--ignore-inhibitors</option></term>
251
252 <listitem>
253 <para>When system shutdown or a sleep state is requested,
254 ignore inhibitor locks. Applications can establish inhibitor
255 locks to avoid that certain important operations (such as CD
256 burning or suchlike) are interrupted by system shutdown or a
257 sleep state. Any user may take these locks and privileged
258 users may override these locks. If any locks are taken,
259 shutdown and sleep state requests will normally fail
494a6682 260 (regardless of whether privileged or not) and a list of active locks
7b870f60
JE
261 is printed. However, if <option>--ignore-inhibitors</option>
262 is specified, the locks are ignored and not printed, and the
4a6022f0
ZJS
263 operation attempted anyway, possibly requiring additional
264 privileges.</para>
265 </listitem>
266 </varlistentry>
267
268 <varlistentry>
269 <term><option>-q</option></term>
270 <term><option>--quiet</option></term>
271
272 <listitem>
273 <para>Suppress output to standard output in
274 <command>snapshot</command>,
275 <command>is-active</command>,
276 <command>is-failed</command>,
277 <command>enable</command> and
278 <command>disable</command>.</para>
279 </listitem>
280 </varlistentry>
281
282 <varlistentry>
283 <term><option>--no-block</option></term>
284
285 <listitem>
286 <para>Do not synchronously wait for the requested operation
7b870f60 287 to finish. If this is not specified, the job will be
4a6022f0 288 verified, enqueued and <command>systemctl</command> will
7b870f60 289 wait until it is completed. By passing this argument, it is
4a6022f0
ZJS
290 only verified and enqueued.</para>
291 </listitem>
292 </varlistentry>
293
294 <varlistentry>
295 <term><option>--no-legend</option></term>
296
297 <listitem>
841aa8c0 298 <para>Do not print the legend, i.e. the column headers and
4a6022f0
ZJS
299 the footer with hints.</para>
300 </listitem>
301 </varlistentry>
302
303 <varlistentry>
304 <term><option>--no-pager</option></term>
305
306 <listitem>
307 <para>Do not pipe output into a pager.</para>
308 </listitem>
309 </varlistentry>
310
311 <varlistentry>
312 <term><option>--system</option></term>
313
314 <listitem>
315 <para>Talk to the systemd system manager. (Default)</para>
316 </listitem>
317 </varlistentry>
318
319 <varlistentry>
320 <term><option>--user</option></term>
321
322 <listitem>
323 <para>Talk to the systemd manager of the calling
324 user.</para>
325 </listitem>
326 </varlistentry>
327
328 <varlistentry>
329 <term><option>--no-wall</option></term>
330
331 <listitem>
7b870f60 332 <para>Do not send wall message before halt, power-off,
4a6022f0
ZJS
333 reboot.</para>
334 </listitem>
335 </varlistentry>
336
337 <varlistentry>
338 <term><option>--global</option></term>
339
340 <listitem>
341 <para>When used with <command>enable</command> and
342 <command>disable</command>, operate on the global user
343 configuration directory, thus enabling or disabling a unit
344 file globally for all future logins of all users.</para>
345 </listitem>
346 </varlistentry>
347
348 <varlistentry>
349 <term><option>--no-reload</option></term>
350
351 <listitem>
352 <para>When used with <command>enable</command> and
353 <command>disable</command>, do not implicitly reload daemon
354 configuration after executing the changes.</para>
355 </listitem>
356 </varlistentry>
357
358 <varlistentry>
359 <term><option>--no-ask-password</option></term>
360
361 <listitem>
362 <para>When used with <command>start</command> and related
363 commands, disables asking for passwords. Background services
364 may require input of a password or passphrase string, for
365 example to unlock system hard disks or cryptographic
366 certificates. Unless this option is specified and the
7b870f60 367 command is invoked from a terminal,
4a6022f0
ZJS
368 <command>systemctl</command> will query the user on the
369 terminal for the necessary secrets. Use this option to
7b870f60 370 switch this behavior off. In this case, the password must be
4a6022f0
ZJS
371 supplied by some other means (for example graphical password
372 agents) or the service might fail. This also disables
373 querying the user for authentication for privileged
374 operations.</para>
375 </listitem>
376
377 </varlistentry>
378
379 <varlistentry>
380 <term><option>--kill-who=</option></term>
381
382 <listitem>
383 <para>When used with <command>kill</command>, choose which
384 processes to kill. Must be one of <option>main</option>,
385 <option>control</option> or <option>all</option> to select
386 whether to kill only the main process of the unit, the
7b870f60 387 control process or all processes of the unit. If omitted,
4a6022f0
ZJS
388 defaults to <option>all</option>.</para>
389 </listitem>
390
391 </varlistentry>
392
393 <varlistentry>
394 <term><option>-s</option></term>
395 <term><option>--signal=</option></term>
396
397 <listitem>
398 <para>When used with <command>kill</command>, choose which
399 signal to send to selected processes. Must be one of the
05cc7267 400 well known signal specifiers such as <constant>SIGTERM</constant>, <constant>SIGINT</constant> or
7b870f60 401 <constant>SIGSTOP</constant>. If omitted, defaults to
4a6022f0
ZJS
402 <option>SIGTERM</option>.</para>
403 </listitem>
404 </varlistentry>
405
406 <varlistentry>
407 <term><option>-f</option></term>
408 <term><option>--force</option></term>
409
410 <listitem>
411 <para>When used with <command>enable</command>, overwrite
412 any existing conflicting symlinks.</para>
413
414 <para>When used with <command>halt</command>,
415 <command>poweroff</command>, <command>reboot</command> or
7b870f60 416 <command>kexec</command>, execute the selected operation
4a6022f0
ZJS
417 without shutting down all units. However, all processes will
418 be killed forcibly and all file systems are unmounted or
419 remounted read-only. This is hence a drastic but relatively
420 safe option to request an immediate reboot. If
421 <option>--force</option> is specified twice for these
422 operations, they will be executed immediately without
423 terminating any processes or umounting any file
424 systems. Warning: specifying <option>--force</option> twice
425 with any of these operations might result in data
426 loss.</para>
427 </listitem>
428 </varlistentry>
429
430 <varlistentry>
431 <term><option>--root=</option></term>
432
433 <listitem>
434 <para>When used with
435 <command>enable</command>/<command>disable</command>/<command>is-enabled</command>
436 (and related commands), use alternative root path when
437 looking for unit files.</para>
438 </listitem>
439
440 </varlistentry>
441
442 <varlistentry>
443 <term><option>--runtime</option></term>
444
445 <listitem>
a330b376 446 <para>When used with <command>enable</command>,
171754aa 447 <command>disable</command>,
4a6022f0 448 (and related commands), make changes only temporarily, so
a330b376 449 that they are lost on the next reboot. This will have the
4a6022f0
ZJS
450 effect that changes are not made in subdirectories of
451 <filename>/etc</filename> but in <filename>/run</filename>,
452 with identical immediate effects, however, since the latter
453 is lost on reboot, the changes are lost too.</para>
a330b376 454
494a6682 455 <para>Similarly, when used with
fbce1139 456 <command>set-property</command>, make changes only
a330b376
LP
457 temporarily, so that they are lost on the next
458 reboot.</para>
4a6022f0
ZJS
459 </listitem>
460 </varlistentry>
461
462 <varlistentry>
463 <term><option>-H</option></term>
464 <term><option>--host</option></term>
465
466 <listitem>
63ba209d 467 <para>Execute the operation remotely. Specify a hostname, or
1290d0fc
LP
468 username and hostname separated by <literal>@</literal>, to
469 connect to. This will use SSH to talk to the remote systemd
4a6022f0
ZJS
470 instance.</para>
471 </listitem>
472 </varlistentry>
473
474 <varlistentry>
1290d0fc
LP
475 <term><option>-M</option></term>
476 <term><option>--machine=</option></term>
4a6022f0 477
1290d0fc
LP
478 <listitem><para>Execute the operation on a local
479 container. Specify a container name to connect
480 to.</para></listitem>
4a6022f0
ZJS
481 </varlistentry>
482
483 <varlistentry>
484 <term><option>-n</option></term>
485 <term><option>--lines=</option></term>
486
487 <listitem>
7b870f60 488 <para>When used with <command>status</command>, controls the
4a6022f0
ZJS
489 number of journal lines to show, counting from the most
490 recent ones. Takes a positive integer argument. Defaults to
491 10.</para>
492 </listitem>
493 </varlistentry>
494
495 <varlistentry>
496 <term><option>-o</option></term>
497 <term><option>--output=</option></term>
498
499 <listitem>
7b870f60 500 <para>When used with <command>status</command>, controls the
4a6022f0 501 formatting of the journal entries that are shown. For the
7b870f60 502 available choices, see
4a6022f0
ZJS
503 <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
504 Defaults to <literal>short</literal>.</para>
505 </listitem>
506 </varlistentry>
507
5d0c05e5
LN
508 <varlistentry>
509 <term><option>--plain</option></term>
510
511 <listitem>
7b870f60 512 <para>When used with <command>list-dependencies</command>,
5d0c05e5
LN
513 the output is printed as a list instead of a tree.</para>
514 </listitem>
515 </varlistentry>
516
4a6022f0
ZJS
517 </variablelist>
518 </refsect1>
519
520 <refsect1>
521 <title>Commands</title>
522
523 <para>The following commands are understood:</para>
524
27722f96
LN
525 <refsect2>
526 <title>Unit Commands</title>
4a6022f0 527
27722f96
LN
528 <variablelist>
529 <varlistentry>
4f8f66cb 530 <term><command>list-units <optional><replaceable>PATTERN</replaceable>...</optional></command></term>
4a6022f0 531
27722f96
LN
532 <listitem>
533 <para>List known units (subject to limitations specified
d8fba7c6
ZJS
534 with <option>-t</option>). If one or more
535 <replaceable>PATTERN</replaceable>s are specified, only
536 units matching one of them are shown.</para>
991f2a39 537
27722f96
LN
538 <para>This is the default command.</para>
539 </listitem>
540 </varlistentry>
991f2a39 541
27722f96 542 <varlistentry>
4f8f66cb 543 <term><command>list-sockets <optional><replaceable>PATTERN</replaceable>...</optional></command></term>
27722f96
LN
544
545 <listitem>
e0e009c0 546 <para>List socket units ordered by listening address.
d8fba7c6
ZJS
547 If one or more <replaceable>PATTERN</replaceable>s are
548 specified, only socket units matching one of them are
549 shown. Produces output similar to
27722f96 550 <programlisting>
991f2a39
ZJS
551LISTEN UNIT ACTIVATES
552/dev/initctl systemd-initctl.socket systemd-initctl.service
553...
554[::]:22 sshd.socket sshd.service
555kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
556
5575 sockets listed.
27722f96
LN
558 </programlisting>
559 Note: because the addresses might contains spaces, this output
560 is not suitable for programmatic consumption.
561 </para>
562
563 <para>See also the options <option>--show-types</option>,
564 <option>--all</option>, and <option>--failed</option>.</para>
565 </listitem>
566 </varlistentry>
567
cbb76c29 568 <varlistentry>
4f8f66cb 569 <term><command>list-timers <optional><replaceable>PATTERN</replaceable>...</optional></command></term>
cbb76c29
LP
570
571 <listitem>
d8fba7c6
ZJS
572 <para>List timer units ordered by the time they elapse
573 next. If one or more <replaceable>PATTERN</replaceable>s
574 are specified, only units matching one of them are shown.
575 </para>
cbb76c29
LP
576
577 <para>See also the options <option>--all</option> and
578 <option>--failed</option>.</para>
579 </listitem>
580 </varlistentry>
581
27722f96
LN
582 <varlistentry>
583 <term><command>start <replaceable>NAME</replaceable>...</command></term>
584
585 <listitem>
586 <para>Start (activate) one or more units specified on the
587 command line.</para>
588 </listitem>
589 </varlistentry>
590 <varlistentry>
591 <term><command>stop <replaceable>NAME</replaceable>...</command></term>
592
593 <listitem>
594 <para>Stop (deactivate) one or more units specified on the
595 command line.</para>
596 </listitem>
597 </varlistentry>
598 <varlistentry>
599 <term><command>reload <replaceable>NAME</replaceable>...</command></term>
600
601 <listitem>
602 <para>Asks all units listed on the command line to reload
603 their configuration. Note that this will reload the
604 service-specific configuration, not the unit configuration
605 file of systemd. If you want systemd to reload the
79640424 606 configuration file of a unit, use the
27722f96
LN
607 <command>daemon-reload</command> command. In other words:
608 for the example case of Apache, this will reload Apache's
609 <filename>httpd.conf</filename> in the web server, not the
610 <filename>apache.service</filename> systemd unit
611 file.</para>
612
613 <para>This command should not be confused with the
614 <command>daemon-reload</command> or <command>load</command>
615 commands.</para>
616 </listitem>
617
618 </varlistentry>
619 <varlistentry>
620 <term><command>restart <replaceable>NAME</replaceable>...</command></term>
621
622 <listitem>
623 <para>Restart one or more units specified on the command
624 line. If the units are not running yet, they will be
625 started.</para>
626 </listitem>
627 </varlistentry>
628 <varlistentry>
629 <term><command>try-restart <replaceable>NAME</replaceable>...</command></term>
630
631 <listitem>
632 <para>Restart one or more units specified on the command
633 line if the units are running. This does nothing if units are not
634 running. Note that, for compatibility with Red Hat init
635 scripts, <command>condrestart</command> is equivalent to this
636 command.</para>
637 </listitem>
638 </varlistentry>
639 <varlistentry>
640 <term><command>reload-or-restart <replaceable>NAME</replaceable>...</command></term>
641
642 <listitem>
643 <para>Reload one or more units if they support it. If not,
644 restart them instead. If the units are not running yet, they
645 will be started.</para>
646 </listitem>
647 </varlistentry>
648 <varlistentry>
649 <term><command>reload-or-try-restart <replaceable>NAME</replaceable>...</command></term>
650
651 <listitem>
652 <para>Reload one or more units if they support it. If not,
653 restart them instead. This does nothing if the units are not
654 running. Note that, for compatibility with SysV init scripts,
655 <command>force-reload</command> is equivalent to this
656 command.</para>
657 </listitem>
658 </varlistentry>
659 <varlistentry>
660 <term><command>isolate <replaceable>NAME</replaceable></command></term>
661
662 <listitem>
663 <para>Start the unit specified on the command line and its
664 dependencies and stop all others.</para>
665
666 <para>This is similar to changing the runlevel in a
667 traditional init system. The <command>isolate</command>
668 command will immediately stop processes that are not enabled
669 in the new unit, possibly including the graphical
670 environment or terminal you are currently using.</para>
671
672 <para>Note that this is allowed only on units where
673 <option>AllowIsolate=</option> is enabled. See
674 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
675 for details.</para>
676 </listitem>
677 </varlistentry>
678 <varlistentry>
679 <term><command>kill <replaceable>NAME</replaceable>...</command></term>
680
681 <listitem>
682 <para>Send a signal to one or more processes of the
683 unit. Use <option>--kill-who=</option> to select which
684 process to kill. Use <option>--kill-mode=</option> to select
685 the kill mode and <option>--signal=</option> to select the
686 signal to send.</para>
687 </listitem>
688 </varlistentry>
689 <varlistentry>
690 <term><command>is-active <replaceable>NAME</replaceable>...</command></term>
691
692 <listitem>
693 <para>Check whether any of the specified units are active
694 (i.e. running). Returns an exit code 0 if at least one is
e0e009c0 695 active, or non-zero otherwise. Unless <option>--quiet</option>
27722f96
LN
696 is specified, this will also print the current unit state to
697 STDOUT.</para>
698 </listitem>
699 </varlistentry>
700 <varlistentry>
701 <term><command>is-failed <replaceable>NAME</replaceable>...</command></term>
702
703 <listitem>
704 <para>Check whether any of the specified units are in a "failed" state.
705 Returns an exit code 0 if at least one has failed, non-zero
706 otherwise. Unless <option>--quiet</option> is specified, this
707 will also print the current unit state to
708 STDOUT.</para>
709 </listitem>
710 </varlistentry>
711 <varlistentry>
4f8f66cb 712 <term><command>status</command> <optional><replaceable>NAME</replaceable>...|<replaceable>PID</replaceable>...]</optional></term>
27722f96
LN
713
714 <listitem>
715 <para>Show terse runtime status information about one or
716 more units, followed by most recent log data from the
717 journal. If no units are specified, show all units (subject
718 to limitations specified with <option>-t</option>). If a PID
719 is passed, show information about the unit the process
720 belongs to.</para>
721
722 <para>This function is intended to generate human-readable
e213d1a3
ZJS
723 output. If you are looking for computer-parsable output,
724 use <command>show</command> instead. By default this
725 function only shows 10 lines of output and ellipsizes
726 lines to fit in the terminal window. This can be changes
727 with <option>--lines</option> and <option>--full</option>,
728 see above. In addition, <command>journalctl
729 --unit=<replaceable>NAME</replaceable></command> or
730 <command>journalctl
731 --user-unit=<replaceable>NAME</replaceable></command> use
732 a similar filter for messages and might be more
733 convenient.
734 </para>
27722f96
LN
735 </listitem>
736 </varlistentry>
737 <varlistentry>
4f8f66cb 738 <term><command>show</command> <optional><replaceable>NAME</replaceable>...|<replaceable>JOB</replaceable>...</optional></term>
27722f96
LN
739
740 <listitem>
741 <para>Show properties of one or more units, jobs, or the
79640424
JE
742 manager itself. If no argument is specified, properties of
743 the manager will be shown. If a unit name is specified,
27722f96 744 properties of the unit is shown, and if a job id is
79640424 745 specified, properties of the job is shown. By default, empty
27722f96 746 properties are suppressed. Use <option>--all</option> to
79640424 747 show those too. To select specific properties to show, use
27722f96
LN
748 <option>--property=</option>. This command is intended to be
749 used whenever computer-parsable output is required. Use
750 <command>status</command> if you are looking for formatted
751 human-readable output.</para>
752 </listitem>
753 </varlistentry>
e93c33d4
SL
754 <varlistentry>
755 <term><command>cat <replaceable>NAME</replaceable>...</command></term>
27722f96 756
e93c33d4 757 <listitem>
e4c0fbe5
ZJS
758 <para>Show backing files of one or more units. Prints the
759 "fragment" and "drop-ins" (source files) of units. Each
760 file is preceded by a comment which includes the file
761 name.</para>
e93c33d4
SL
762 </listitem>
763 </varlistentry>
27722f96
LN
764 <varlistentry>
765 <term><command>set-property <replaceable>NAME</replaceable> <replaceable>ASSIGNMENT</replaceable>...</command></term>
766
767 <listitem>
768 <para>Set the specified unit properties at runtime where
769 this is supported. This allows changing configuration
3fde5f30 770 parameter properties such as resource control settings at
27722f96 771 runtime. Not all properties may be changed at runtime, but
3fde5f30
LP
772 many resource control settings (primarily those in
773 <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>)
27722f96
LN
774 may. The changes are applied instantly, and stored on disk
775 for future boots, unless <option>--runtime</option> is
3fde5f30
LP
776 passed, in which case the settings only apply until the
777 next reboot. The syntax of the property assignment follows
27722f96
LN
778 closely the syntax of assignments in unit files.</para>
779
780 <para>Example: <command>systemctl set-property foobar.service CPUShares=777</command></para>
781
782 <para>Note that this command allows changing multiple
783 properties at the same time, which is preferable over
784 setting them individually. Like unit file configuration
785 settings, assigning the empty list to list parameters will
786 reset the list.</para>
787 </listitem>
788 </varlistentry>
789
790 <varlistentry>
791 <term><command>help <replaceable>NAME</replaceable>...|<replaceable>PID</replaceable>...</command></term>
792
793 <listitem>
794 <para>Show manual pages for one or more units, if
795 available. If a PID is given, the manual pages for the unit
796 the process belongs to are shown.</para>
797 </listitem>
798 </varlistentry>
799
800 <varlistentry>
801 <term><command>reset-failed [<replaceable>NAME</replaceable>...]</command></term>
802
803 <listitem>
804 <para>Reset the <literal>failed</literal> state of the
805 specified units, or if no unit name is passed, reset the state of all
806 units. When a unit fails in some way (i.e. process exiting
807 with non-zero error code, terminating abnormally or timing
808 out), it will automatically enter the
809 <literal>failed</literal> state and its exit code and status
810 is recorded for introspection by the administrator until the
811 service is restarted or reset with this command.</para>
812 </listitem>
813 </varlistentry>
814
815 <varlistentry>
816 <term><command>list-dependencies <replaceable>NAME</replaceable></command></term>
817
818 <listitem>
819 <para>Shows required and wanted units of the specified
820 unit. If no unit is specified,
821 <filename>default.target</filename> is implied. Target units
822 are recursively expanded. When <option>--all</option> is
823 passed, all other units are recursively expanded as
824 well.</para>
825 </listitem>
826 </varlistentry>
827 </variablelist>
828 </refsect2>
829
830 <refsect2>
831 <title>Unit File Commands</title>
832
833 <variablelist>
834 <varlistentry>
d8fba7c6 835 <term><command>list-unit-files <optional><replaceable>PATTERN...</replaceable></optional></command></term>
27722f96
LN
836
837 <listitem>
d8fba7c6
ZJS
838 <para>List installed unit files. If one or more
839 <replaceable>PATTERN</replaceable>s are specified, only
840 units whose filename (just the last component of the path)
841 matches one of them are shown.</para>
27722f96
LN
842 </listitem>
843 </varlistentry>
844
845 <varlistentry>
846 <term><command>enable <replaceable>NAME</replaceable>...</command></term>
847
848 <listitem>
849 <para>Enable one or more unit files or unit file instances,
850 as specified on the command line. This will create a number
851 of symlinks as encoded in the <literal>[Install]</literal>
852 sections of the unit files. After the symlinks have been
853 created, the systemd configuration is reloaded (in a way that
854 is equivalent to <command>daemon-reload</command>) to ensure
855 the changes are taken into account immediately. Note that
856 this does <emphasis>not</emphasis> have the effect of also
857 starting any of the units being enabled. If this
858 is desired, a separate <command>start</command> command must
859 be invoked for the unit. Also note that in case of instance
860 enablement, symlinks named the same as instances are created in
861 the install location, however they all point to the same
862 template unit file.</para>
863
864 <para>This command will print the actions executed. This
865 output may be suppressed by passing <option>--quiet</option>.
866 </para>
867
868 <para>Note that this operation creates only the suggested
869 symlinks for the units. While this command is the
870 recommended way to manipulate the unit configuration
871 directory, the administrator is free to make additional
872 changes manually by placing or removing symlinks in the
873 directory. This is particularly useful to create
874 configurations that deviate from the suggested default
875 installation. In this case, the administrator must make sure
876 to invoke <command>daemon-reload</command> manually as
877 necessary to ensure the changes are taken into account.
878 </para>
879
880 <para>Enabling units should not be confused with starting
881 (activating) units, as done by the <command>start</command>
882 command. Enabling and starting units is orthogonal: units
883 may be enabled without being started and started without
884 being enabled. Enabling simply hooks the unit into various
885 suggested places (for example, so that the unit is
886 automatically started on boot or when a particular kind of
887 hardware is plugged in). Starting actually spawns the daemon
888 process (in case of service units), or binds the socket (in
889 case of socket units), and so on.</para>
890
891 <para>Depending on whether <option>--system</option>,
1bee43de 892 <option>--user</option>, <option>--runtime</option>,
72f4d966 893 or <option>--global</option> is specified, this enables the unit
1bee43de
ZJS
894 for the system, for the calling user only, for only this boot of
895 the system, or for all future logins of all users, or only this
896 boot. Note that in the last case, no systemd daemon
27722f96
LN
897 configuration is reloaded.</para>
898 </listitem>
899 </varlistentry>
900
901 <varlistentry>
902 <term><command>disable <replaceable>NAME</replaceable>...</command></term>
903
904 <listitem>
905 <para>Disables one or more units. This removes all symlinks
906 to the specified unit files from the unit configuration
907 directory, and hence undoes the changes made by
908 <command>enable</command>. Note however that this removes
909 all symlinks to the unit files (i.e. including manual
910 additions), not just those actually created by
911 <command>enable</command>. This call implicitly reloads the
912 systemd daemon configuration after completing the disabling
913 of the units. Note that this command does not implicitly
914 stop the units that are being disabled. If this is desired,
915 an additional <command>stop</command> command should be
916 executed afterwards.</para>
917
918 <para>This command will print the actions executed. This
919 output may be suppressed by passing <option>--quiet</option>.
920 </para>
921
922 <para>This command honors <option>--system</option>,
72f4d966 923 <option>--user</option>, <option>--runtime</option> and
1bee43de
ZJS
924 <option>--global</option> in a similar way as
925 <command>enable</command>.</para>
27722f96
LN
926 </listitem>
927 </varlistentry>
928
929 <varlistentry>
930 <term><command>is-enabled <replaceable>NAME</replaceable>...</command></term>
931
932 <listitem>
933 <para>Checks whether any of the specified unit files are
171754aa
ZJS
934 enabled (as with <command>enable</command>). Returns an
935 exit code of 0 if at least one is enabled, non-zero
936 otherwise. Prints the current enable status (see table).
937 To suppress this output, use <option>--quiet</option>.
938 </para>
939
940 <table>
941 <title>
942 <command>is-enabled</command> output
943 </title>
944
945 <tgroup cols='3'>
946 <thead>
947 <row>
948 <entry>Printed string</entry>
949 <entry>Meaning</entry>
950 <entry>Return value</entry>
951 </row>
952 </thead>
953 <tbody>
954 <row>
955 <entry><literal>enabled</literal></entry>
956 <entry morerows='1'>Enabled through a symlink in <filename>.wants</filename> directory (permanently or just in <filename>/run</filename>)</entry>
957 <entry morerows='1'>0</entry>
958 </row>
959 <row>
960 <entry><literal>enabled-runtime</literal></entry>
961 </row>
962 <row>
963 <entry><literal>linked</literal></entry>
964 <entry morerows='1'>Made available through a symlink to the unit file (permanently or just in <filename>/run</filename>)</entry>
965 <entry morerows='1'>1</entry>
966 </row>
967 <row>
968 <entry><literal>linked-runtime</literal></entry>
969 </row>
970 <row>
971 <entry><literal>masked</literal></entry>
972 <entry morerows='1'>Disabled entirely (permanently or just in <filename>/run</filename>)</entry>
973 <entry morerows='1'>1</entry>
974 </row>
975 <row>
976 <entry><literal>masked-runtime</literal></entry>
977 </row>
978 <row>
979 <entry><literal>static</literal></entry>
980 <entry>Unit is not enabled, but has no provisions for enabling in [Install] section</entry>
981 <entry>1</entry>
982 </row>
983 <row>
984 <entry><literal>disabled</literal></entry>
985 <entry>Unit is not enabled</entry>
986 <entry>1</entry>
987 </row>
988 </tbody>
989 </tgroup>
990 </table>
991
27722f96
LN
992 </listitem>
993 </varlistentry>
994
995 <varlistentry>
996 <term><command>reenable <replaceable>NAME</replaceable>...</command></term>
997
998 <listitem>
999 <para>Reenable one or more unit files, as specified on the
1000 command line. This is a combination of
1001 <command>disable</command> and <command>enable</command> and
1002 is useful to reset the symlinks a unit is enabled with to
1003 the defaults configured in the <literal>[Install]</literal>
1004 section of the unit file.</para>
1005 </listitem>
1006 </varlistentry>
1007
1008 <varlistentry>
1009 <term><command>preset <replaceable>NAME</replaceable>...</command></term>
1010
1011 <listitem>
1012 <para>Reset one or more unit files, as specified on the
1013 command line, to the defaults configured in the preset
1014 policy files. This has the same effect as
1015 <command>disable</command> or <command>enable</command>,
1016 depending how the unit is listed in the preset files. For
1017 more information on the preset policy format, see
1018 <citerefentry><refentrytitle>systemd.preset</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
1019 For more information on the concept of presets, please
1020 consult the
1021 <ulink url="http://freedesktop.org/wiki/Software/systemd/Preset">Preset</ulink>
1022 document.</para>
1023 </listitem>
1024 </varlistentry>
1025
1026 <varlistentry>
1027 <term><command>mask <replaceable>NAME</replaceable>...</command></term>
1028
1029 <listitem>
1030 <para>Mask one or more unit files, as specified on the
1031 command line. This will link these units to
1032 <filename>/dev/null</filename>, making it impossible to
1033 start them. This is a stronger version of
1034 <command>disable</command>, since it prohibits all kinds of
1035 activation of the unit, including manual activation. Use
1bee43de 1036 this option with care. This honors the
72f4d966 1037 <option>--runtime</option> option to only mask temporarily
1bee43de 1038 until the next reoobt of the system.</para>
27722f96
LN
1039 </listitem>
1040 </varlistentry>
1041
1042 <varlistentry>
1043 <term><command>unmask <replaceable>NAME</replaceable>...</command></term>
1044
1045 <listitem>
1046 <para>Unmask one or more unit files, as specified on the
1047 command line. This will undo the effect of
1048 <command>mask</command>.</para>
1049 </listitem>
1050 </varlistentry>
1051
1052 <varlistentry>
1053 <term><command>link <replaceable>FILENAME</replaceable>...</command></term>
1054
1055 <listitem>
1056 <para>Link a unit file that is not in the unit file search
1057 paths into the unit file search path. This requires an
1058 absolute path to a unit file. The effect of this can be
1059 undone with <command>disable</command>. The effect of this
1060 command is that a unit file is available for
1061 <command>start</command> and other commands although it
1062 is not installed directly in the unit search path.</para>
1063 </listitem>
1064 </varlistentry>
1065
1066 <varlistentry>
1067 <term><command>get-default</command></term>
1068
1069 <listitem>
1070 <para>Get the default target specified
1071 via <filename>default.target</filename> link.</para>
1072 </listitem>
1073 </varlistentry>
1074
1075 <varlistentry>
1076 <term><command>set-default <replaceable>NAME</replaceable></command></term>
1077
1078 <listitem>
1079 <para>Set the default target to boot into. Command links
1080 <filename>default.target</filename> to the given unit.</para>
1081 </listitem>
1082 </varlistentry>
1083 </variablelist>
1084 </refsect2>
1085
1086 <refsect2>
1087 <title>Job Commands</title>
1088
1089 <variablelist>
1090 <varlistentry>
d8fba7c6 1091 <term><command>list-jobs <optional><replaceable>PATTERN...</replaceable></optional></command></term>
27722f96
LN
1092
1093 <listitem>
d8fba7c6
ZJS
1094 <para>List jobs that are in progress. If one or more
1095 <replaceable>PATTERN</replaceable>s are specified, only
1096 jobs for units matching one of them are shown.</para>
27722f96
LN
1097 </listitem>
1098 </varlistentry>
1099 <varlistentry>
1100 <term><command>cancel <replaceable>JOB</replaceable>...</command></term>
1101
1102 <listitem>
1103 <para>Cancel one or more jobs specified on the command line
1104 by their numeric job IDs. If no job ID is specified, cancel
1105 all pending jobs.</para>
1106 </listitem>
1107 </varlistentry>
1108 </variablelist>
1109 </refsect2>
1110
1111 <refsect2>
1112 <title>Snapshot Commands</title>
1113
1114 <variablelist>
1115 <varlistentry>
d8fba7c6 1116 <term><command>snapshot <optional><replaceable>NAME</replaceable></optional></command></term>
27722f96
LN
1117
1118 <listitem>
1119 <para>Create a snapshot. If a snapshot name is specified,
1120 the new snapshot will be named after it. If none is
1121 specified, an automatic snapshot name is generated. In either
1122 case, the snapshot name used is printed to STDOUT, unless
1123 <option>--quiet</option> is specified.</para>
1124
1125 <para>A snapshot refers to a saved state of the systemd
1126 manager. It is implemented itself as a unit that is
1127 generated dynamically with this command and has dependencies
1128 on all units active at the time. At a later time, the user
1129 may return to this state by using the
1130 <command>isolate</command> command on the snapshot unit.
1131 </para>
1132
1133 <para>Snapshots are only useful for saving and restoring
1134 which units are running or are stopped, they do not
1135 save/restore any other state. Snapshots are dynamic and lost
1136 on reboot.</para>
1137 </listitem>
1138 </varlistentry>
1139 <varlistentry>
1140 <term><command>delete <replaceable>NAME</replaceable>...</command></term>
1141
1142 <listitem>
1143 <para>Remove a snapshot previously created with
1144 <command>snapshot</command>.</para>
1145 </listitem>
1146 </varlistentry>
1147 </variablelist>
1148 </refsect2>
1149
1150 <refsect2>
1151 <title>Environment Commands</title>
1152
1153 <variablelist>
1154 <varlistentry>
1155 <term><command>show-environment</command></term>
1156
1157 <listitem>
1158 <para>Dump the systemd manager environment block. The
1159 environment block will be dumped in straight-forward form
1160 suitable for sourcing into a shell script. This environment
1161 block will be passed to all processes the manager
1162 spawns.</para>
1163 </listitem>
1164 </varlistentry>
1165 <varlistentry>
1166 <term><command>set-environment <replaceable>VARIABLE=VALUE</replaceable>...</command></term>
1167
1168 <listitem>
1169 <para>Set one or more systemd manager environment variables,
1170 as specified on the command line.</para>
1171 </listitem>
1172 </varlistentry>
1173 <varlistentry>
1174 <term><command>unset-environment <replaceable>VARIABLE</replaceable>...</command></term>
1175
1176 <listitem>
1177 <para>Unset one or more systemd manager environment
1178 variables. If only a variable name is specified, it will be
1179 removed regardless of its value. If a variable and a value
1180 are specified, the variable is only removed if it has the
1181 specified value.</para>
1182 </listitem>
1183 </varlistentry>
1184 </variablelist>
1185 </refsect2>
1186
1187 <refsect2>
1188 <title>Manager Lifecycle Commands</title>
1189
1190 <variablelist>
1191 <varlistentry>
1192 <term><command>daemon-reload</command></term>
1193
1194 <listitem>
1195 <para>Reload systemd manager configuration. This will reload
1196 all unit files and recreate the entire dependency
79640424 1197 tree. While the daemon is being reloaded, all sockets systemd
27722f96
LN
1198 listens on on behalf of user configuration will stay
1199 accessible.</para> <para>This command should not be confused
1200 with the <command>load</command> or
1201 <command>reload</command> commands.</para>
1202 </listitem>
1203 </varlistentry>
1204 <varlistentry>
1205 <term><command>daemon-reexec</command></term>
1206
1207 <listitem>
1208 <para>Reexecute the systemd manager. This will serialize the
1209 manager state, reexecute the process and deserialize the
1210 state again. This command is of little use except for
79640424 1211 debugging and package upgrades. Sometimes, it might be
27722f96 1212 helpful as a heavy-weight <command>daemon-reload</command>.
79640424 1213 While the daemon is being reexecuted, all sockets systemd listening
27722f96
LN
1214 on behalf of user configuration will stay accessible.
1215 </para>
1216 </listitem>
1217 </varlistentry>
1218 </variablelist>
1219 </refsect2>
1220
1221 <refsect2>
1222 <title>System Commands</title>
1223
1224 <variablelist>
1225 <varlistentry>
1226 <term><command>default</command></term>
1227
1228 <listitem>
1229 <para>Enter default mode. This is mostly equivalent to
1230 <command>isolate default.target</command>.</para>
1231 </listitem>
1232 </varlistentry>
1233 <varlistentry>
1234 <term><command>rescue</command></term>
1235
1236 <listitem>
1237 <para>Enter rescue mode. This is mostly equivalent to
1238 <command>isolate rescue.target</command>, but also prints a
1239 wall message to all users.</para>
1240 </listitem>
1241 </varlistentry>
1242 <varlistentry>
1243 <term><command>emergency</command></term>
1244
1245 <listitem>
1246 <para>Enter emergency mode. This is mostly equivalent to
1247 <command>isolate emergency.target</command>, but also prints
1248 a wall message to all users.</para>
1249 </listitem>
1250 </varlistentry>
1251 <varlistentry>
1252 <term><command>halt</command></term>
1253
1254 <listitem>
1255 <para>Shut down and halt the system. This is mostly equivalent to
1256 <command>start halt.target --irreversible</command>, but also
1257 prints a wall message to all users. If combined with
1258 <option>--force</option>, shutdown of all running services is
1259 skipped, however all processes are killed and all file
1260 systems are unmounted or mounted read-only, immediately
1261 followed by the system halt. If <option>--force</option> is
1262 specified twice, the operation is immediately executed
1263 without terminating any processes or unmounting any file
1264 systems. This may result in data loss.</para>
1265 </listitem>
1266 </varlistentry>
1267 <varlistentry>
1268 <term><command>poweroff</command></term>
1269
1270 <listitem>
1271 <para>Shut down and power-off the system. This is mostly
1272 equivalent to <command>start poweroff.target --irreversible</command>,
1273 but also prints a wall message to all users. If combined with
1274 <option>--force</option>, shutdown of all running services is
1275 skipped, however all processes are killed and all file
1276 systems are unmounted or mounted read-only, immediately
1277 followed by the powering off. If <option>--force</option> is
1278 specified twice, the operation is immediately executed
1279 without terminating any processes or unmounting any file
1280 systems. This may result in data loss.</para>
1281 </listitem>
1282 </varlistentry>
1283 <varlistentry>
37185ec8 1284 <term><command>reboot <optional><replaceable>arg</replaceable></optional></command></term>
27722f96
LN
1285
1286 <listitem>
1287 <para>Shut down and reboot the system. This is mostly
1288 equivalent to <command>start reboot.target --irreversible</command>,
1289 but also prints a wall message to all users. If combined with
1290 <option>--force</option>, shutdown of all running services is
1291 skipped, however all processes are killed and all file
1292 systems are unmounted or mounted read-only, immediately
1293 followed by the reboot. If <option>--force</option> is
1294 specified twice, the operation is immediately executed
1295 without terminating any processes or unmounting any file
1296 systems. This may result in data loss.</para>
37185ec8
WC
1297
1298 <para>If the optional argument
1299 <replaceable>arg</replaceable> is given, it will be passed
1300 as the optional argument to the
1301 <citerefentry><refentrytitle>reboot</refentrytitle><manvolnum>2</manvolnum></citerefentry>
1302 system call. The value is architecture and firmware
1303 specific. As an example, <literal>recovery</literal> might
1304 be used to trigger system recovery, and
1305 <literal>fota</literal> might be used to trigger a
1306 <quote>firmware over the air</quote> update.</para>
27722f96
LN
1307 </listitem>
1308 </varlistentry>
1309 <varlistentry>
1310 <term><command>kexec</command></term>
1311
1312 <listitem>
1313 <para>Shut down and reboot the system via kexec. This is
1314 mostly equivalent to <command>start kexec.target --irreversible</command>,
1315 but also prints a wall message to all users. If combined
1316 with <option>--force</option>, shutdown of all running
1317 services is skipped, however all processes are killed and
1318 all file systems are unmounted or mounted read-only,
1319 immediately followed by the reboot.</para>
1320 </listitem>
1321 </varlistentry>
1322 <varlistentry>
1323 <term><command>exit</command></term>
1324
1325 <listitem>
1326 <para>Ask the systemd manager to quit. This is only
1327 supported for user service managers (i.e. in conjunction
1328 with the <option>--user</option> option) and will fail
1329 otherwise.</para>
1330 </listitem>
1331
1332 </varlistentry>
1333 <varlistentry>
1334 <term><command>suspend</command></term>
1335
1336 <listitem>
1337 <para>Suspend the system. This will trigger activation of
1338 the special <filename>suspend.target</filename> target.
1339 </para>
1340 </listitem>
1341 </varlistentry>
1342 <varlistentry>
1343 <term><command>hibernate</command></term>
1344
1345 <listitem>
1346 <para>Hibernate the system. This will trigger activation of
1347 the special <filename>hibernate.target</filename> target.
1348 </para>
1349 </listitem>
1350 </varlistentry>
1351 <varlistentry>
1352 <term><command>hybrid-sleep</command></term>
1353
1354 <listitem>
1355 <para>Hibernate and suspend the system. This will trigger
1356 activation of the special
1357 <filename>hybrid-sleep.target</filename> target.</para>
1358 </listitem>
1359 </varlistentry>
1360 <varlistentry>
d8fba7c6 1361 <term><command>switch-root <replaceable>ROOT</replaceable> <optional><replaceable>INIT</replaceable></optional></command></term>
27722f96
LN
1362
1363 <listitem>
1364 <para>Switches to a different root directory and executes a
1365 new system manager process below it. This is intended for
1366 usage in initial RAM disks ("initrd"), and will transition
1367 from the initrd's system manager process (a.k.a "init"
1368 process) to the main system manager process. This call takes two
1369 arguments: the directory that is to become the new root directory, and
1370 the path to the new system manager binary below it to
1371 execute as PID 1. If the latter is omitted or the empty
1372 string, a systemd binary will automatically be searched for
1373 and used as init. If the system manager path is omitted or
1374 equal to the empty string, the state of the initrd's system
1375 manager process is passed to the main system manager, which
1376 allows later introspection of the state of the services
1377 involved in the initrd boot.</para>
1378 </listitem>
1379 </varlistentry>
1380 </variablelist>
1381 </refsect2>
4a6022f0 1382
a7c0e5d7
LP
1383 <refsect2>
1384 <title>Parameter Syntax</title>
1385
b040723e 1386 <para>For unit commands, the specified
a7c0e5d7
LP
1387 <replaceable>NAME</replaceable> should be the full name of the
1388 unit, or an abbreviated name which is automatically extended with
1389 the <literal>.service</literal> suffix.
1390 <programlisting># systemctl start foo.service</programlisting> is equivalent to:
1391 <programlisting># systemctl start foo</programlisting>
1392 Note that (absolute) paths to device nodes are automatically converted to device unit names, and other (absolute) paths to mount unit names.
1393 <programlisting># systemctl status /dev/sda
1394# systemctl status /home</programlisting> is equivalent to:
1395 <programlisting># systemctl status dev-sda.device
1396# systemctl status home.mount</programlisting></para>
1397
b040723e 1398 <para>For unit file commands, the
a7c0e5d7
LP
1399 specified <replaceable>NAME</replaceable> should be the full name
1400 of the unit file, or the absolute path to the unit file.
1401 <programlisting># systemctl link /path/to/foo.service</programlisting>
1402 </para>
1403 </refsect2>
1404
4a6022f0
ZJS
1405 </refsect1>
1406
1407 <refsect1>
1408 <title>Exit status</title>
1409
7b870f60 1410 <para>On success, 0 is returned, a non-zero failure
4a6022f0
ZJS
1411 code otherwise.</para>
1412 </refsect1>
1413
1414 <refsect1>
1415 <title>Environment</title>
1416
1417 <variablelist class='environment-variables'>
1418 <varlistentry>
1419 <term><varname>$SYSTEMD_PAGER</varname></term>
1420
1421 <listitem>
1422 <para>Pager to use when <option>--no-pager</option> is not
1423 given; overrides <varname>$PAGER</varname>. Setting this to
1424 an empty string or the value <literal>cat</literal> is
1425 equivalent to passing
1426 <option>--no-pager</option>.</para>
1427 </listitem>
1428 </varlistentry>
1429 </variablelist>
1430 </refsect1>
1431
1432 <refsect1>
1433 <title>See Also</title>
1434 <para>
1435 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
1436 <citerefentry><refentrytitle>systemadm</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
1437 <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
1438 <citerefentry><refentrytitle>loginctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
1439 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
3fde5f30 1440 <citerefentry><refentrytitle>systemd.resource-management</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
4a6022f0
ZJS
1441 <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
1442 <citerefentry><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
1443 <citerefentry><refentrytitle>systemd.preset</refentrytitle><manvolnum>5</manvolnum></citerefentry>
1444 </para>
1445 </refsect1>
7874bcd6
LP
1446
1447</refentry>