]>
Commit | Line | Data |
---|---|---|
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> |