]> git.ipfire.org Git - thirdparty/systemd.git/blame - man/systemctl.xml
systemctl: hook up new install logic
[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"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4
5<!--
6 This file is part of systemd.
7
8 Copyright 2010 Lennart Poettering
9
10 systemd is free software; you can redistribute it and/or modify it
11 under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 2 of the License, or
13 (at your option) any later version.
14
15 systemd is distributed in the hope that it will be useful, but
16 WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 General Public License for more details.
19
20 You should have received a copy of the GNU General Public License
21 along with systemd; If not, see <http://www.gnu.org/licenses/>.
22-->
23
ee5762e3 24<refentry id="systemctl">
7874bcd6
LP
25
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>
af2d49f7 47 <refpurpose>Control the systemd system and service manager</refpurpose>
7874bcd6
LP
48 </refnamediv>
49
50 <refsynopsisdiv>
51 <cmdsynopsis>
52 <command>systemctl <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="req">COMMAND</arg> <arg choice="opt" rep="repeat">NAME</arg></command>
53 </cmdsynopsis>
54 </refsynopsisdiv>
55
56 <refsect1>
57 <title>Description</title>
58
59 <para><command>systemctl</command> may be used to
60 introspect and control the state of the
61 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
af2d49f7 62 system and service manager.</para>
7874bcd6
LP
63 </refsect1>
64
65 <refsect1>
66 <title>Options</title>
67
68 <para>The following options are understood:</para>
69
70 <variablelist>
71 <varlistentry>
72 <term><option>--help</option></term>
7594fb25 73 <term><option>-h</option></term>
7874bcd6
LP
74
75 <listitem><para>Prints a short help
76 text and exits.</para></listitem>
77 </varlistentry>
78
59cddb23
LP
79 <varlistentry>
80 <term><option>--version</option></term>
81
82 <listitem><para>Prints a short version
83 string and exits.</para></listitem>
84 </varlistentry>
85
7874bcd6
LP
86 <varlistentry>
87 <term><option>--type=</option></term>
7594fb25 88 <term><option>-t</option></term>
7874bcd6
LP
89
90 <listitem><para>When listing units,
91 limit display to certain unit
92 types. If not specified units of all
93 types will be shown. The argument
94 should be a unit type name such as
95 <option>service</option>,
96 <option>socket</option> and
97 similar.</para></listitem>
98 </varlistentry>
99
393a2f9b
LP
100 <varlistentry>
101 <term><option>--property=</option></term>
102 <term><option>-p</option></term>
103
104 <listitem><para>When showing
a61933ad 105 unit/job/manager properties, limit
ee5762e3
LP
106 display to certain properties as
107 specified as argument. If not
108 specified all set properties are
393a2f9b
LP
109 shown. The argument should be a
110 property name, such as
ea4a240d
LP
111 <literal>MainPID</literal>. If
112 specified more than once all
113 properties with the specified names
114 are shown.</para></listitem>
393a2f9b
LP
115 </varlistentry>
116
7874bcd6
LP
117 <varlistentry>
118 <term><option>--all</option></term>
7594fb25 119 <term><option>-a</option></term>
7874bcd6
LP
120
121 <listitem><para>When listing units,
122 show all units, regardless of their
393a2f9b 123 state, including inactive units. When
a61933ad 124 showing unit/job/manager properties,
393a2f9b
LP
125 show all properties regardless whether
126 they are set or not.</para></listitem>
7874bcd6
LP
127 </varlistentry>
128
30732560
LP
129 <varlistentry>
130 <term><option>--failed</option></term>
131
132 <listitem><para>When listing units,
133 show only failed units. Do not confuse
134 with
135 <option>--fail</option>.</para></listitem>
136 </varlistentry>
137
8fe914ec
LP
138 <varlistentry>
139 <term><option>--full</option></term>
140
141 <listitem><para>Do not ellipsize unit
f73e33d9
LP
142 names and truncate unit descriptions
143 in the output of
8fe914ec
LP
144 <command>list-units</command> and
145 <command>list-jobs</command>.</para></listitem>
146 </varlistentry>
147
7874bcd6 148 <varlistentry>
90d473a1 149 <term><option>--fail</option></term>
7874bcd6
LP
150
151 <listitem><para>If the requested
ee5762e3
LP
152 operation conflicts with a pending
153 unfinished job, fail the command. If
154 this is not specified the requested
155 operation will replace the pending job,
30732560
LP
156 if necessary. Do not confuse
157 with
158 <option>--failed</option>.</para></listitem>
ee5762e3
LP
159 </varlistentry>
160
e67c3609
LP
161 <varlistentry>
162 <term><option>--ignore-dependencies</option></term>
163
164 <listitem><para>When enqueuing a new
165 job ignore all its dependencies and
166 execute it immediately. If passed no
167 required units of the unit passed will
168 be pulled in, and no ordering
169 dependencies will be honoured. This is
170 mostly a debugging and rescue tool for
171 the administrator and should not be
172 used by
173 applications.</para></listitem>
174 </varlistentry>
175
ee5762e3
LP
176 <varlistentry>
177 <term><option>--quiet</option></term>
178 <term><option>-q</option></term>
179
180 <listitem><para>Suppress output to
181 STDOUT in
182 <command>snapshot</command>,
3d428115 183 <command>is-active</command>,
ee5762e3
LP
184 <command>enable</command> and
185 <command>disable</command>.</para></listitem>
186 </varlistentry>
187
188 <varlistentry>
189 <term><option>--no-block</option></term>
190
a9c72fe9
LP
191 <listitem><para>Do not synchronously wait for
192 the requested operation to finish. If this is
193 not specified the job will be verified,
194 enqueued and <command>systemctl</command> will
195 wait until it is completed. By passing this
196 argument it is only verified and
a61933ad
LP
197 enqueued.</para></listitem>
198 </varlistentry>
ee5762e3 199
0736af98
MV
200 <varlistentry>
201 <term><option>--no-pager</option></term>
202
203 <listitem><para>Do not pipe output into a
204 pager.</para></listitem>
205 </varlistentry>
206
ee5762e3
LP
207 <varlistentry>
208 <term><option>--system</option></term>
209
210 <listitem><para>Talk to the systemd
211 system manager. (Default)</para></listitem>
212 </varlistentry>
213
214 <varlistentry>
af2d49f7 215 <term><option>--user</option></term>
ee5762e3
LP
216
217 <listitem><para>Talk to the systemd
af2d49f7 218 manager of the calling user.</para></listitem>
7874bcd6
LP
219 </varlistentry>
220
4445a875
LP
221 <varlistentry>
222 <term><option>--order</option></term>
223 <term><option>--require</option></term>
224
225 <listitem><para>When used in
226 conjunction with the
227 <command>dot</command> command (see
228 below), selects which dependencies are
229 shown in the dependency graph. If
230 <option>--order</option> is passed
231 only dependencies of type
232 <varname>After=</varname> or
233 <varname>Before=</varname> are
234 shown. If <option>--require</option>
235 is passed only dependencies of type
236 <varname>Requires=</varname>,
237 <varname>RequiresOverridable=</varname>,
238 <varname>Requisite=</varname>,
239 <varname>RequisiteOverridable=</varname>,
240 <varname>Wants=</varname> and
241 <varname>Conflicts=</varname> are
242 shown. If neither is passed, shows
243 dependencies of all these
244 types.</para></listitem>
245 </varlistentry>
246
7874bcd6 247 <varlistentry>
ee5762e3 248 <term><option>--no-wall</option></term>
7874bcd6 249
ee5762e3
LP
250 <listitem><para>Don't send wall
251 message before
252 halt, power-off, reboot.</para></listitem>
7874bcd6
LP
253 </varlistentry>
254
255 <varlistentry>
ee5762e3
LP
256 <term><option>--global</option></term>
257
258 <listitem><para>When used with
259 <command>enable</command> and
260 <command>disable</command>, operate on the
3d428115 261 global user configuration
ee5762e3
LP
262 directory, thus enabling or disabling
263 a unit file globally for all future
af2d49f7 264 logins of all users.</para></listitem>
7874bcd6
LP
265 </varlistentry>
266
267 <varlistentry>
ee5762e3
LP
268 <term><option>--no-reload</option></term>
269
270 <listitem><para>When used with
271 <command>enable</command> and
272 <command>disable</command>, do not
273 implicitly reload daemon configuration
274 after executing the
275 changes.</para></listitem>
276 </varlistentry>
7594fb25 277
501fc174
LP
278 <varlistentry>
279 <term><option>--no-ask-password</option></term>
280
281 <listitem><para>When used with
282 <command>start</command> and related
283 commands, disables asking for
284 passwords. Background services may
285 require input of a password or
286 passphrase string, for example to
287 unlock system hard disks or
288 cryptographic certificates. Unless
289 this option is specified and the
290 command is invoked from a terminal
291 <command>systemctl</command> will
292 query the user on the terminal for the
293 necessary secrets. Use this option to
3d428115 294 switch this behavior off. In this
501fc174
LP
295 case the password must be supplied by
296 some other means (for example
297 graphical password agents) or the
298 service might fail.</para></listitem>
299 </varlistentry>
300
8a0867d6
LP
301 <varlistentry>
302 <term><option>--kill-who=</option></term>
303
304 <listitem><para>When used with
305 <command>kill</command>, choose which
306 processes to kill. Must be one of
307 <option>main</option>,
308 <option>control</option> or
309 <option>all</option> to select whether
310 to kill only the main process of the
311 unit, the control process or all
3d428115 312 processes of the unit. If omitted
8a0867d6
LP
313 defaults to
314 <option>all</option>.</para></listitem>
315 </varlistentry>
316
317 <varlistentry>
3d428115 318 <term><option>--signal=</option></term>
8a0867d6
LP
319 <term><option>-s</option></term>
320
321 <listitem><para>When used with
322 <command>kill</command>, choose which
323 signal to send to selected
324 processes. Must be one of the well
3d428115 325 known signal specifiers such as
8a0867d6 326 SIGTERM, SIGINT or SIGSTOP. If
3d428115 327 omitted defaults to
8a0867d6
LP
328 <option>SIGTERM</option>.</para></listitem>
329 </varlistentry>
330
7594fb25 331 <varlistentry>
ee5762e3 332 <term><option>--force</option></term>
6f352544 333 <term><option>-f</option></term>
7874bcd6 334
ee5762e3
LP
335 <listitem><para>When used with
336 <command>enable</command>, override any
337 existing conflicting
338 symlinks.</para></listitem>
6f352544
LP
339
340 <listitem><para>When used with
341 <command>halt</command>,
342 <command>poweroff</command>,
343 <command>reboot</command> or
344 <command>kexec</command> execute
345 selected operation without shutting
346 down all units. However, all processes
347 will be killed forcibly and all file
348 systems are unmounted or remounted
349 read-only. This is hence a drastic but
350 relatively safe option to request an
351 immediate reboot.</para></listitem>
7874bcd6
LP
352 </varlistentry>
353
354 <varlistentry>
729e3769 355 <term><option>--root=</option></term>
ee5762e3
LP
356
357 <listitem><para>When used with
729e3769
LP
358 <command>enable</command>/<command>disable</command>/<command>is-enabled</command> (and
359 related commands), use alternative
360 root path when looking for unit
361 files.</para></listitem>
7874bcd6 362 </varlistentry>
a8f11321 363
be394c48 364 <varlistentry>
729e3769 365 <term><option>--runtime</option></term>
be394c48
FC
366
367 <listitem><para>When used with
729e3769
LP
368 <command>enable</command>/<command>disable</command>/<command>is-enabled</command> (and related commands), make
369 changes only temporarily, so that they
370 are dropped on the next reboot. This
371 will have the effect that changes are
372 not made in subdirectories of
373 <filename>/etc</filename> but in
374 <filename>/run</filename>, with
375 identical immediate effects, however,
376 since the latter is lost on reboot,
377 the changes are lost
378 too.</para></listitem>
be394c48
FC
379 </varlistentry>
380
a8f11321
LP
381 <varlistentry>
382 <term><option>-H</option></term>
383 <term><option>--host</option></term>
384
385 <listitem><para>Execute operation
9f7dad77
VS
386 remotely. Specify a hostname, or
387 username and hostname separated by @,
a8f11321
LP
388 to connect to. This will use SSH to
389 talk to the remote systemd
390 instance.</para></listitem>
391 </varlistentry>
392
393 <varlistentry>
394 <term><option>-P</option></term>
395 <term><option>--privileged</option></term>
396
397 <listitem><para>Acquire privileges via
398 PolicyKit before executing the
399 operation.</para></listitem>
400 </varlistentry>
7874bcd6
LP
401 </variablelist>
402
403 <para>The following commands are understood:</para>
404
405 <variablelist>
406 <varlistentry>
407 <term><command>list-units</command></term>
408
409 <listitem><para>List known units.</para></listitem>
410 </varlistentry>
7874bcd6
LP
411 <varlistentry>
412 <term><command>start [NAME...]</command></term>
413
ee5762e3
LP
414 <listitem><para>Start (activate) one
415 or more units specified on the command
7874bcd6
LP
416 line.</para></listitem>
417 </varlistentry>
418 <varlistentry>
419 <term><command>stop [NAME...]</command></term>
420
ee5762e3
LP
421 <listitem><para>Stop (deactivate) one
422 or more units specified on the command
7874bcd6
LP
423 line.</para></listitem>
424 </varlistentry>
7874bcd6
LP
425 <varlistentry>
426 <term><command>reload [NAME...]</command></term>
427
ee5762e3
LP
428 <listitem><para>Asks all units listed
429 on the command line to reload their
7874bcd6 430 configuration. Note that this will
ee5762e3
LP
431 reload the service-specific
432 configuration, not the unit
433 configuration file of systemd. If you
434 want systemd to reload the
435 configuration file of a unit use the
7874bcd6
LP
436 <command>daemon-reload</command>
437 command. In other words: for the
438 example case of Apache, this will
439 reload Apache's
440 <filename>httpd.conf</filename> in the
441 web server, not the
442 <filename>apache.service</filename>
ee5762e3
LP
443 systemd unit file. </para>
444
445 <para>This command should not be
446 confused with the
447 <command>daemon-reload</command> or
448 <command>load</command>
7874bcd6
LP
449 commands.</para></listitem>
450
451 </varlistentry>
452 <varlistentry>
6f28c033
LP
453 <term><command>restart [NAME...]</command></term>
454
455 <listitem><para>Restart one or more
456 units specified on the command
457 line. If the units are not running yet
458 they will be
459 started.</para></listitem>
460 </varlistentry>
461 <varlistentry>
462 <term><command>try-restart [NAME...]</command></term>
463
464 <listitem><para>Restart one or more
465 units specified on the command
f1f8cfd0
AB
466 line if the units are running. Do
467 nothing if units are not running.
468 Note that for compatibility
9bee76ee
RB
469 with Red Hat init scripts
470 <command>condrestart</command> is
471 equivalent to this command.</para></listitem>
6f28c033
LP
472 </varlistentry>
473 <varlistentry>
474 <term><command>reload-or-restart [NAME...]</command></term>
9bee76ee
RB
475
476 <listitem><para>Reload one or more
477 units if they support it. If not,
478 restart them instead. If the units
479 are not running yet they will be
480 started.</para></listitem>
481 </varlistentry>
482 <varlistentry>
6f28c033
LP
483 <term><command>reload-or-try-restart [NAME...]</command></term>
484
485 <listitem><para>Reload one or more
ee5762e3 486 units if they support it. If not,
100fd567
LP
487 restart them instead. Do nothing if
488 the units are not running. Note that
489 for compatibility with SysV init
490 scripts
9bee76ee 491 <command>force-reload</command> is
100fd567
LP
492 equivalent to this
493 command.</para></listitem>
6f28c033
LP
494 </varlistentry>
495 <varlistentry>
7874bcd6
LP
496 <term><command>isolate [NAME]</command></term>
497
498 <listitem><para>Start the unit
499 specified on the command line and its
25f63d46
MM
500 dependencies and stop all others.</para>
501
502 <para>This is similar to changing the
503 runlevel in a traditional init system. The
504 <command>isolate</command> command will
505 immediately stop processes that are not
506 enabled in the new unit, possibly including
507 the graphical environment or terminal you
508 are currently using.</para>
509
510 <para>Note that this works only on units
511 where <option>AllowIsolate=</option> is
2528a7a6
LP
512 enabled. See
513 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
514 for details.</para></listitem>
7874bcd6 515 </varlistentry>
8a0867d6
LP
516 <varlistentry>
517 <term><command>kill [NAME...]</command></term>
518
519 <listitem><para>Send a signal to one
520 or more processes of the unit. Use
521 <option>--kill-who=</option> to select
522 which process to kill. Use
523 <option>--kill-mode=</option> to
524 select the kill mode and
525 <option>--signal=</option> to select
526 the signal to send.</para></listitem>
527 </varlistentry>
7594fb25 528 <varlistentry>
ee5762e3 529 <term><command>is-active [NAME...]</command></term>
7594fb25
LP
530
531 <listitem><para>Check whether any of
3d428115 532 the specified units are active
ee5762e3
LP
533 (i.e. running). Returns an exit code
534 0 if at least one is active, non-zero
7594fb25
LP
535 otherwise. Unless
536 <option>--quiet</option> is specified
537 this will also print the current unit
538 state to STDOUT.</para></listitem>
539 </varlistentry>
61cbdc4b 540 <varlistentry>
75676b72 541 <term><command>status [NAME...|PID...]</command></term>
61cbdc4b 542
ee5762e3
LP
543 <listitem><para>Show terse runtime
544 status information about one or more
545 units. This function is intended to
546 generate human-readable output. If you
547 are looking for computer-parsable
548 output, use <command>show</command>
75676b72
LP
549 instead. If a PID is passed
550 information about the unit the process
551 of the PID belongs to is
552 shown.</para></listitem>
61cbdc4b 553 </varlistentry>
393a2f9b
LP
554 <varlistentry>
555 <term><command>show [NAME...|JOB...]</command></term>
556
ee5762e3
LP
557 <listitem><para>Show properties of one
558 or more units, jobs or the manager
393a2f9b 559 itself. If no argument is specified
61cbdc4b 560 properties of the manager will be
393a2f9b 561 shown. If a unit name is specified
ee5762e3
LP
562 properties of the unit is shown, and
563 if a job id is specified properties of
564 the job is shown. By default, empty
565 properties are suppressed. Use
566 <option>--all</option> to show those
567 too. To select specific properties to
568 show use
569 <option>--property=</option>. This
570 command is intended to be used
571 whenever computer-parsable output is
572 required. Use
573 <command>status</command> if you are
574 looking for formatted human-readable
575 output.</para></listitem>
393a2f9b 576 </varlistentry>
5632e374
LP
577
578 <varlistentry>
74ac3cbd
MM
579 <term><command>reset-failed [NAME...]</command></term>
580
581 <listitem><para>Reset the
582 '<literal>failed</literal>' state of the
583 specified units, or if no unit name is
584 passed of all units. When a unit fails
585 in some way (i.e. process exiting with
586 non-zero error code, terminating
587 abnormally or timing out) it will
588 automatically enter the
589 '<literal>failed</literal>' state and
590 its exit code and status is recorded
591 for introspection by the administrator
5632e374
LP
592 until the service is restarted or
593 reset with this
594 command.</para></listitem>
595 </varlistentry>
596
ee5762e3
LP
597 <varlistentry>
598 <term><command>enable [NAME...]</command></term>
599
600 <listitem><para>Enable one or more
601 unit files, as specified on the
602 command line. This will create a
603 number of symlinks as encoded in the
604 <literal>[Install]</literal> sections
605 of the unit files. After the symlinks
606 have been created the systemd
607 configuration is reloaded (in a way
608 that is equivalent to
609 <command>daemon-reload</command>) to
610 ensure the changes are taken into
611 account immediately. Note that this
612 does not have the effect that any of
613 the units enabled are also started at
614 the same time. If this is desired a
96d4ce01 615 separate <command>start</command>
ee5762e3
LP
616 command must be invoked for the
617 unit.</para>
618
619 <para>This command will
620 print the actions executed. This
621 output may be suppressed by passing
622 <option>--quiet</option>.</para>
623
624 <para>Note that this operation creates
625 only the suggested symlinks for the
626 units. While this command is the
627 recommended way to manipulate the unit
628 configuration directory, the
629 administrator is free to make
630 additional changes manually, by
631 placing or removing symlinks in the
3d428115 632 directory. This is particularly useful
ee5762e3
LP
633 to create configurations that deviate
634 from the suggested default
635 installation. In this case the
636 administrator must make sure to invoke
637 <command>daemon-reload</command>
638 manually as necessary, to ensure his
639 changes are taken into account.</para>
640
641 <para>Enabling units should not be
642 confused with starting (activating)
643 units, as done by the
644 <command>start</command>
645 command. Enabling and starting units
646 is orthogonal: units may be enabled
647 without being started and started
648 without being enabled. Enabling simply
649 hooks the unit into various suggested
650 places (for example, so that the unit
651 is automatically started on boot or
652 when a particular kind of hardware is
653 plugged in). Starting actually spawns
654 the daemon process (in case of service
655 units), or binds the socket (in case
656 of socket units), and so
657 on.</para>
658
659 <para>Depending on whether
660 <option>--system</option>,
af2d49f7 661 <option>--user</option> or
ee5762e3
LP
662 <option>--global</option> is specified
663 this enables the unit for the system,
af2d49f7
LP
664 for the calling user only
665 or for all future logins of all
ee5762e3
LP
666 users. Note that in the latter case no
667 systemd daemon configuration is
668 reloaded.</para>
669 </listitem>
670 </varlistentry>
671
672 <varlistentry>
673 <term><command>disable [NAME...]</command></term>
674
675 <listitem><para>Disables one or more
676 units. This removes all symlinks to
677 the specified unit files from the unit
678 configuration directory, and hence
679 undoes the changes made by
680 <command>enable</command>. Note
729e3769 681 however that this removes
ee5762e3
LP
682 all symlinks to the unit files
683 (i.e. including manual additions), not
684 just those actually created by
729e3769 685 <command>enable</command>. This call
ee5762e3
LP
686 implicitly reloads the systemd daemon
687 configuration after completing the
688 disabling of the units. Note that this
689 command does not implicitly stop the
690 units that is being disabled. If this
691 is desired an additional
692 <command>stop</command>command should
693 be executed afterwards.</para>
694
695 <para>This command will print the
696 actions executed. This output may be
697 suppressed by passing
698 <option>--quiet</option>.</para>
699 </listitem>
700
3d428115 701 <para>This command honors
ee5762e3 702 <option>--system</option>,
af2d49f7 703 <option>--user</option>,
ee5762e3
LP
704 <option>--global</option> in a similar
705 way as
706 <command>enable</command>.</para>
707 </varlistentry>
708
709 <varlistentry>
710 <term><command>is-enabled [NAME...]</command></term>
711
712 <listitem><para>Checks whether any of
713 the specified unit files is enabled
714 (as with
715 <command>enable</command>). Returns an
716 exit code of 0 if at least one is
729e3769
LP
717 enabled, non-zero otherwise. Prints
718 the current enable status. To suppress
719 this output use
720 <option>--quiet</option>.</para></listitem>
721 </varlistentry>
722
723 <varlistentry>
724 <term><command>reenable [NAME...]</command></term>
725
726 <listitem><para>Reenable one or more
727 unit files, as specified on the
728 command line. This is a combination of
729 <command>disable</command> and
730 <command>enable</command> and is
731 useful to reset the symlinks a unit is
732 enabled with to the defaults
733 configured in the
734 <literal>[Install]</literal> section
735 of the unit file.</para>
736 </listitem>
737 </varlistentry>
738
739 <varlistentry>
740 <term><command>preset [NAME...]</command></term>
741
742 <listitem><para>Reset one or more unit
743 files, as specified on the command
744 line, to the defaults configured in a
745 preset file. This has the same effect
746 as <command>disable</command> or
747 <command>enable</command>, depending
748 how the unit is listed in the preset
749 files.</para>
750 </listitem>
751 </varlistentry>
752
753 <varlistentry>
754 <term><command>mask [NAME...]</command></term>
755
756 <listitem><para>Mask one or more unit
757 files, as specified on the command
758 line. This will link these units to
759 <filename>/dev/null</filename>, making
760 it impossible to start them. This is a stronger version
761 of <command>disable</command>, since
762 it prohibits all kinds of activation
763 of the unit, including manual
764 activation. Use this option with
765 care.</para>
766 </listitem>
767 </varlistentry>
768
769 <varlistentry>
770 <term><command>unmask [NAME...]</command></term>
771
772 <listitem><para>Unmask one or more
773 unit files, as specified on the
774 command line. This will undo the
775 effect of
776 <command>mask</command>.</para>
777 </listitem>
778 </varlistentry>
779
780 <varlistentry>
781 <term><command>link [NAME...]</command></term>
782
783 <listitem><para>Link a unit file that
784 is not in the unit file search paths
785 into the unit file search path. This
786 requires an absolute path to a unit
787 file. The effect of this can be undone
788 with <command>disable</command>. The
789 effect of this command is that a unit
790 file is available for
791 <command>start</command> and other
792 commands although it isn't installed
793 directly in the unit search
794 path.</para>
795 </listitem>
ee5762e3
LP
796 </varlistentry>
797
393a2f9b
LP
798 <varlistentry>
799 <term><command>load [NAME...]</command></term>
800
801 <listitem><para>Load one or more units
802 specified on the command line. This
803 will simply load their configuration
804 from disk, but not start them. To
805 start them you need to use the
806 <command>start</command> command which
807 will implicitly load a unit that has
808 not been loaded yet. Note that systemd
809 garbage collects loaded units that are
810 not active or referenced by an active
811 unit. This means that units loaded
812 this way will usually not stay loaded
813 for long. Also note that this command
814 cannot be used to reload unit
815 configuration. Use the
816 <command>daemon-reload</command>
817 command for that. All in all, this
818 command is of little use except for
819 debugging.</para>
820 <para>This command should not be
821 confused with the
822 <command>daemon-reload</command> or
823 <command>reload</command>
824 commands.</para></listitem>
825 </varlistentry>
826 <varlistentry>
827 <term><command>list-jobs</command></term>
828
829 <listitem><para>List jobs that are in progress.</para></listitem>
830 </varlistentry>
831 <varlistentry>
832 <term><command>cancel [JOB...]</command></term>
833
834 <listitem><para>Cancel one or more
835 jobs specified on the command line by
836 their numeric job
3d428115 837 IDs. If no job id is specified, cancel all pending jobs.</para></listitem>
393a2f9b 838 </varlistentry>
7874bcd6
LP
839 <varlistentry>
840 <term><command>dump</command></term>
841
842 <listitem><para>Dump server
843 status. This will output a (usually
844 very long) human readable manager
845 status dump. Its format is subject to
846 change without notice and should not
847 be parsed by
848 applications.</para></listitem>
849 </varlistentry>
4445a875
LP
850 <varlistentry>
851 <term><command>dot</command></term>
852
853 <listitem><para>Generate textual
854 dependency graph description in dot
855 format for further processing with the
856 GraphViz
857 <citerefentry><refentrytitle>dot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
858 tool. Use a command line like
859 <command>systemctl dot | dot -Tsvg >
860 systemd.svg</command> to generate a
861 graphical dependency tree. Unless
862 <option>--order</option> or
863 <option>--require</option> is passed
864 the generated graph will show both
865 ordering and requirement
866 dependencies.</para></listitem>
867 </varlistentry>
7874bcd6
LP
868 <varlistentry>
869 <term><command>snapshot [NAME]</command></term>
870
871 <listitem><para>Create a snapshot. If
af62c704 872 a snapshot name is specified, the new
7874bcd6
LP
873 snapshot will be named after it. If
874 none is specified an automatic
875 snapshot name is generated. In either
7594fb25
LP
876 case, the snapshot name used is
877 printed to STDOUT, unless
878 <option>--quiet</option> is
879 specified.</para>
7874bcd6
LP
880
881 <para>A snapshot refers to a saved
882 state of the systemd manager. It is
3d428115 883 implemented itself as a unit that is
7874bcd6
LP
884 generated dynamically with this
885 command and has dependencies on all
886 units active at the time. At a later
887 time the user may return to this state
888 by using the
889 <command>isolate</command> command on
890 the snapshot unit.</para></listitem>
891
892 <para>Snapshots are only useful for
893 saving and restoring which units are
894 running or are stopped, they do not
895 save/restore any other
896 state. Snapshots are dynamic and lost
897 on reboot.</para>
898 </varlistentry>
899 <varlistentry>
6759e7a7
LP
900 <term><command>delete [NAME...]</command></term>
901
902 <listitem><para>Remove a snapshot
903 previously created with
904 <command>snapshot</command>.</para></listitem>
905 </varlistentry>
906 <varlistentry>
7874bcd6
LP
907 <term><command>daemon-reload</command></term>
908
909 <listitem><para>Reload systemd manager
910 configuration. This will reload all
911 unit files and recreate the entire
912 dependency tree. While the daemon is
af62c704 913 reloaded, all sockets systemd listens
ad678a06 914 on on behalf of user configuration will
7874bcd6
LP
915 stay accessible.</para> <para>This
916 command should not be confused with
917 the <command>load</command> or
918 <command>reload</command>
919 commands.</para></listitem>
920 </varlistentry>
921 <varlistentry>
922 <term><command>daemon-reexec</command></term>
923
924 <listitem><para>Reexecute the systemd
925 manager. This will serialize the
926 manager state, reexecute the process
927 and deserialize the state again. This
928 command is of little use except for
929 debugging and package
930 upgrades. Sometimes it might be
931 helpful as a heavy-weight
932 <command>daemon-reload</command>. While
933 the daemon is reexecuted all sockets
934 systemd listens on on behalf of user
935 configuration will stay
936 accessible.</para></listitem>
937 </varlistentry>
7874bcd6
LP
938 <varlistentry>
939 <term><command>show-environment</command></term>
940
941 <listitem><para>Dump the systemd
942 manager environment block. The
943 environment block will be dumped in
944 straight-forward form suitable for
945 sourcing into a shell script. This
946 environment block will be passed to
947 all processes the manager
948 spawns.</para></listitem>
949 </varlistentry>
950 <varlistentry>
951 <term><command>set-environment [NAME=VALUE...]</command></term>
952
953 <listitem><para>Set one or more
954 systemd manager environment variables,
955 as specified on the command
956 line.</para></listitem>
957 </varlistentry>
958 <varlistentry>
959 <term><command>unset-environment [NAME...]</command></term>
960
961 <listitem><para>Unset one or more
962 systemd manager environment
963 variables. If only a variable name is
964 specified it will be removed
965 regardless of its value. If a variable
966 and a value are specified the variable
967 is only removed if it has the
968 specified value.</para></listitem>
969 </varlistentry>
59cddb23
LP
970 <varlistentry>
971 <term><command>default</command></term>
972
973 <listitem><para>Enter default
974 mode. This is mostly equivalent to
975 <command>start
976 default.target</command>.</para></listitem>
977 </varlistentry>
978 <varlistentry>
979 <term><command>rescue</command></term>
980
981 <listitem><para>Enter rescue
982 mode. This is mostly equivalent to
983 <command>isolate
984 rescue.target</command> but also
985 prints a wall message to all
986 users.</para></listitem>
987 </varlistentry>
988 <varlistentry>
989 <term><command>emergency</command></term>
7874bcd6 990
59cddb23
LP
991 <listitem><para>Enter emergency
992 mode. This is mostly equivalent to
993 <command>isolate
994 emergency.target</command> but also
995 prints a wall message to all
996 users.</para></listitem>
997 </varlistentry>
7874bcd6
LP
998 <varlistentry>
999 <term><command>halt</command></term>
1000
1001 <listitem><para>Shut down and halt the
1002 system. This is mostly equivalent to
1003 <command>start halt.target</command>
1004 but also prints a wall message to all
59cddb23
LP
1005 users. If
1006 combined with <option>--force</option>
1007 shutdown of all running services is
3d428115
RB
1008 skipped, however all processes are killed
1009 and all file systems are unmounted or
59cddb23
LP
1010 mounted read-only, immediately
1011 followed by the
1012 system halt.</para></listitem>
7874bcd6
LP
1013 </varlistentry>
1014 <varlistentry>
1015 <term><command>poweroff</command></term>
1016
1017 <listitem><para>Shut down and
1018 power-off the system. This is mostly
1019 equivalent to <command>start
1020 poweroff.target</command> but also
1021 prints a wall message to all
59cddb23
LP
1022 users. If
1023 combined with <option>--force</option>
1024 shutdown of all running services is
3d428115
RB
1025 skipped, however all processes are killed
1026 and all file systems are unmounted or
59cddb23
LP
1027 mounted read-only, immediately
1028 followed by the
1029 powering off.</para></listitem>
7874bcd6
LP
1030 </varlistentry>
1031 <varlistentry>
1032 <term><command>reboot</command></term>
1033
1034 <listitem><para>Shut down and
1035 reboot the system. This is mostly
1036 equivalent to <command>start
1037 reboot.target</command> but also
1038 prints a wall message to all
59cddb23
LP
1039 users. If
1040 combined with <option>--force</option>
1041 shutdown of all running services is
3d428115
RB
1042 skipped, however all processes are killed
1043 and all file systems are unmounted or
59cddb23
LP
1044 mounted read-only, immediately
1045 followed by the
1046 reboot.</para></listitem>
7874bcd6
LP
1047 </varlistentry>
1048 <varlistentry>
59cddb23 1049 <term><command>kexec</command></term>
7874bcd6 1050
59cddb23
LP
1051 <listitem><para>Shut down and reboot
1052 the system via kexec. This is mostly
1053 equivalent to <command>start
1054 kexec.target</command> but also prints
1055 a wall message to all users. If
1056 combined with <option>--force</option>
1057 shutdown of all running services is
3d428115
RB
1058 skipped, however all processes are killed
1059 and all file systems are unmounted or
59cddb23
LP
1060 mounted read-only, immediately
1061 followed by the
1062 reboot.</para></listitem>
7874bcd6
LP
1063 </varlistentry>
1064 <varlistentry>
59cddb23 1065 <term><command>exit</command></term>
7874bcd6 1066
59cddb23
LP
1067 <listitem><para>Ask the systemd
1068 manager to quit. This is only
af2d49f7 1069 supported for user service managers
59cddb23 1070 (i.e. in conjunction with the
af2d49f7 1071 <option>--user</option> option) and
59cddb23 1072 will fail otherwise.</para></listitem>
7874bcd6
LP
1073 </varlistentry>
1074 </variablelist>
1075
1076 </refsect1>
1077
1078 <refsect1>
1079 <title>Exit status</title>
1080
1081 <para>On success 0 is returned, a non-zero failure
1082 code otherwise.</para>
1083 </refsect1>
1084
abebb5af
VS
1085 <refsect1>
1086 <title>Environment</title>
1087
1088 <variablelist>
1089 <varlistentry>
1090 <term><varname>$SYSTEMD_PAGER</varname></term>
1091 <listitem><para>Pager to use when
1092 <option>--no-pager</option> is not given;
1093 overrides <varname>$PAGER</varname>. Setting
1094 this to an empty string or the value
1095 <literal>cat</literal> is equivalent to passing
1096 <option>--no-pager</option>.</para></listitem>
1097 </varlistentry>
1098 </variablelist>
1099 </refsect1>
1100
7874bcd6
LP
1101 <refsect1>
1102 <title>See Also</title>
1103 <para>
1104 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
1105 <citerefentry><refentrytitle>systemadm</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
4e2d4c08 1106 <citerefentry><refentrytitle>systemd-loginctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
7874bcd6
LP
1107 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
1108 <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
1109 <citerefentry><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry>
1110 </para>
1111 </refsect1>
1112
1113</refentry>