]> git.ipfire.org Git - thirdparty/systemd.git/blame - man/systemctl.xml
systemctl: accept -p more than once
[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
24<refentry id="systemd-install">
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>
47 <refpurpose>Control the systemd system and session manager</refpurpose>
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>
62 system and session manager.</para>
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
79 <varlistentry>
80 <term><option>--type=</option></term>
7594fb25 81 <term><option>-t</option></term>
7874bcd6
LP
82
83 <listitem><para>When listing units,
84 limit display to certain unit
85 types. If not specified units of all
86 types will be shown. The argument
87 should be a unit type name such as
88 <option>service</option>,
89 <option>socket</option> and
90 similar.</para></listitem>
91 </varlistentry>
92
393a2f9b
LP
93 <varlistentry>
94 <term><option>--property=</option></term>
95 <term><option>-p</option></term>
96
97 <listitem><para>When showing
98 unit/job/manager information, limit
99 display to certain property names. If
100 not specified all set properties are
101 shown. The argument should be a
102 property name, such as
ea4a240d
LP
103 <literal>MainPID</literal>. If
104 specified more than once all
105 properties with the specified names
106 are shown.</para></listitem>
393a2f9b
LP
107 </varlistentry>
108
7874bcd6
LP
109 <varlistentry>
110 <term><option>--all</option></term>
7594fb25 111 <term><option>-a</option></term>
7874bcd6
LP
112
113 <listitem><para>When listing units,
114 show all units, regardless of their
393a2f9b
LP
115 state, including inactive units. When
116 showing unit/job/manager information,
117 show all properties regardless whether
118 they are set or not.</para></listitem>
7874bcd6
LP
119 </varlistentry>
120
8fe914ec
LP
121 <varlistentry>
122 <term><option>--full</option></term>
123
124 <listitem><para>Do not ellipsize unit
125 names in the output of
126 <command>list-units</command> and
127 <command>list-jobs</command>.</para></listitem>
128 </varlistentry>
129
7874bcd6 130 <varlistentry>
90d473a1 131 <term><option>--fail</option></term>
7874bcd6
LP
132
133 <listitem><para>If the requested
436c44a5 134 operation conflicts with an existing
90d473a1
LP
135 unfinished operation, fail the
136 command. If this is not specified the
137 requested operation will replace the
138 pending job if
139 necessary.</para></listitem>
7874bcd6
LP
140 </varlistentry>
141
4445a875
LP
142 <varlistentry>
143 <term><option>--order</option></term>
144 <term><option>--require</option></term>
145
146 <listitem><para>When used in
147 conjunction with the
148 <command>dot</command> command (see
149 below), selects which dependencies are
150 shown in the dependency graph. If
151 <option>--order</option> is passed
152 only dependencies of type
153 <varname>After=</varname> or
154 <varname>Before=</varname> are
155 shown. If <option>--require</option>
156 is passed only dependencies of type
157 <varname>Requires=</varname>,
158 <varname>RequiresOverridable=</varname>,
159 <varname>Requisite=</varname>,
160 <varname>RequisiteOverridable=</varname>,
161 <varname>Wants=</varname> and
162 <varname>Conflicts=</varname> are
163 shown. If neither is passed, shows
164 dependencies of all these
165 types.</para></listitem>
166 </varlistentry>
167
7874bcd6
LP
168 <varlistentry>
169 <term><option>--system</option></term>
170
171 <listitem><para>Talk to the systemd
172 system manager. (Default)</para></listitem>
173 </varlistentry>
174
175 <varlistentry>
176 <term><option>--session</option></term>
177
178 <listitem><para>Talk to the systemd
179 session manager of the calling user.</para></listitem>
180 </varlistentry>
181
182 <varlistentry>
7594fb25
LP
183 <term><option>--no-block</option></term>
184
225fdfd3
LP
185 <listitem><para>Do not synchronously wait for
186 the requested operation to finish. If this is
187 not specified the job will be verified,
188 enqueued and <command>systemctl</command> will
189 wait until it is completed. By passing this
190 argument it is only verified and
191 enqueued.</para></listitem> </varlistentry>
7594fb25
LP
192
193 <varlistentry>
194 <term><option>--quiet</option></term>
195 <term><option>-q</option></term>
7874bcd6 196
7594fb25
LP
197 <listitem><para>Suppress output to
198 STDOUT for <command>snapshot</command>
199 and
200 <command>check</command>.</para></listitem>
7874bcd6
LP
201 </varlistentry>
202
203 <varlistentry>
204 <term><option>--no-wall</option></term>
205
206 <listitem><para>Don't send wall
207 message before
208 halt, power-off, reboot.</para></listitem>
209 </varlistentry>
210 </variablelist>
211
212 <para>The following commands are understood:</para>
213
214 <variablelist>
215 <varlistentry>
216 <term><command>list-units</command></term>
217
218 <listitem><para>List known units.</para></listitem>
219 </varlistentry>
7874bcd6
LP
220 <varlistentry>
221 <term><command>start [NAME...]</command></term>
222
223 <listitem><para>Start one or more
224 units specified on the command
225 line.</para></listitem>
226 </varlistentry>
227 <varlistentry>
228 <term><command>stop [NAME...]</command></term>
229
230 <listitem><para>Stop one or more units
231 specified on the command
232 line.</para></listitem>
233 </varlistentry>
7874bcd6
LP
234 <varlistentry>
235 <term><command>reload [NAME...]</command></term>
236
237 <listitem><para>Asks all services
238 whose units are listed on the command
239 line to reload their
240 configuration. Note that this will
241 reload the daemon configuration
242 itself, not the unit configuration
243 file of systemd. If you want systemd
244 to reload the configuration file of a
245 unit use the
246 <command>daemon-reload</command>
247 command. In other words: for the
248 example case of Apache, this will
249 reload Apache's
250 <filename>httpd.conf</filename> in the
251 web server, not the
252 <filename>apache.service</filename>
253 systemd unit file. </para> <para>This
254 command should not be confused with
255 the <command>daemon-reload</command>
256 or <command>load</command>
257 commands.</para></listitem>
258
259 </varlistentry>
260 <varlistentry>
6f28c033
LP
261 <term><command>restart [NAME...]</command></term>
262
263 <listitem><para>Restart one or more
264 units specified on the command
265 line. If the units are not running yet
266 they will be
267 started.</para></listitem>
268 </varlistentry>
269 <varlistentry>
270 <term><command>try-restart [NAME...]</command></term>
271
272 <listitem><para>Restart one or more
273 units specified on the command
274 line. If the units are not running yet
275 the operation will
276 fail.</para></listitem>
277 </varlistentry>
278 <varlistentry>
279 <term><command>reload-or-restart [NAME...]</command></term>
280 <term><command>reload-or-try-restart [NAME...]</command></term>
281
282 <listitem><para>Reload one or more
283 units if they support it. If not
284 restart them
285 instead.</para></listitem>
286 </varlistentry>
287 <varlistentry>
7874bcd6
LP
288 <term><command>isolate [NAME]</command></term>
289
290 <listitem><para>Start the unit
291 specified on the command line and its
292 dependencies and stop all
293 others.</para></listitem>
294 </varlistentry>
7594fb25
LP
295 <varlistentry>
296 <term><command>check [NAME...]</command></term>
297
298 <listitem><para>Check whether any of
299 the specified units is active
300 (i.e. running). Returns 0 if at least
301 one is active, non-zero
302 otherwise. Unless
303 <option>--quiet</option> is specified
304 this will also print the current unit
305 state to STDOUT.</para></listitem>
306 </varlistentry>
61cbdc4b
LP
307 <varlistentry>
308 <term><command>status [NAME...]</command></term>
309
310 <listitem><para>Show short status
311 information about one or more
312 units. This shows terse runtime
313 information about
314 units.</para></listitem>
315 </varlistentry>
393a2f9b
LP
316 <varlistentry>
317 <term><command>show [NAME...|JOB...]</command></term>
318
61cbdc4b 319 <listitem><para>Show properties of
393a2f9b
LP
320 one or more units, jobs or the manager
321 itself. If no argument is specified
61cbdc4b 322 properties of the manager will be
393a2f9b 323 shown. If a unit name is specified
61cbdc4b 324 properties of the unit is shown,
393a2f9b 325 and if a job id is specified
61cbdc4b 326 properties of the job is
393a2f9b
LP
327 shown.</para></listitem>
328 </varlistentry>
5632e374
LP
329
330 <varlistentry>
331 <term><command>reset-maintenance [NAME...]</command></term>
332
333 <listitem><para>Reset maintenance
334 state of the specified units, or if no
335 unit name is passed of all units. When
336 a unit fails in some way (i.e. process
337 exiting with non-zero error code,
338 terminating abnormally or timing out)
339 it will automatically enter
340 maintenance state and its exit codes
341 and status is recorded for
342 introspection by the administrator
343 until the service is restarted or
344 reset with this
345 command.</para></listitem>
346 </varlistentry>
347
393a2f9b
LP
348 <varlistentry>
349 <term><command>load [NAME...]</command></term>
350
351 <listitem><para>Load one or more units
352 specified on the command line. This
353 will simply load their configuration
354 from disk, but not start them. To
355 start them you need to use the
356 <command>start</command> command which
357 will implicitly load a unit that has
358 not been loaded yet. Note that systemd
359 garbage collects loaded units that are
360 not active or referenced by an active
361 unit. This means that units loaded
362 this way will usually not stay loaded
363 for long. Also note that this command
364 cannot be used to reload unit
365 configuration. Use the
366 <command>daemon-reload</command>
367 command for that. All in all, this
368 command is of little use except for
369 debugging.</para>
370 <para>This command should not be
371 confused with the
372 <command>daemon-reload</command> or
373 <command>reload</command>
374 commands.</para></listitem>
375 </varlistentry>
376 <varlistentry>
377 <term><command>list-jobs</command></term>
378
379 <listitem><para>List jobs that are in progress.</para></listitem>
380 </varlistentry>
381 <varlistentry>
382 <term><command>cancel [JOB...]</command></term>
383
384 <listitem><para>Cancel one or more
385 jobs specified on the command line by
386 their numeric job
387 IDs.</para></listitem>
388 </varlistentry>
389 <varlistentry>
390 <term><command>clear-jobs</command></term>
391
392 <listitem><para>Cancel all jobs that are in progress.</para></listitem>
393 </varlistentry>
7874bcd6
LP
394 <varlistentry>
395 <term><command>monitor</command></term>
396
397 <listitem><para>Monitor unit/job
398 changes. This is mostly useful for
399 debugging purposes and prints a line
400 each time systemd loads or unloads a
401 unit configuration file, or a unit
402 property changes.</para></listitem>
403 </varlistentry>
404 <varlistentry>
405 <term><command>dump</command></term>
406
407 <listitem><para>Dump server
408 status. This will output a (usually
409 very long) human readable manager
410 status dump. Its format is subject to
411 change without notice and should not
412 be parsed by
413 applications.</para></listitem>
414 </varlistentry>
4445a875
LP
415 <varlistentry>
416 <term><command>dot</command></term>
417
418 <listitem><para>Generate textual
419 dependency graph description in dot
420 format for further processing with the
421 GraphViz
422 <citerefentry><refentrytitle>dot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
423 tool. Use a command line like
424 <command>systemctl dot | dot -Tsvg >
425 systemd.svg</command> to generate a
426 graphical dependency tree. Unless
427 <option>--order</option> or
428 <option>--require</option> is passed
429 the generated graph will show both
430 ordering and requirement
431 dependencies.</para></listitem>
432 </varlistentry>
7874bcd6
LP
433 <varlistentry>
434 <term><command>snapshot [NAME]</command></term>
435
436 <listitem><para>Create a snapshot. If
af62c704 437 a snapshot name is specified, the new
7874bcd6
LP
438 snapshot will be named after it. If
439 none is specified an automatic
440 snapshot name is generated. In either
7594fb25
LP
441 case, the snapshot name used is
442 printed to STDOUT, unless
443 <option>--quiet</option> is
444 specified.</para>
7874bcd6
LP
445
446 <para>A snapshot refers to a saved
447 state of the systemd manager. It is
448 implemented itself as unit that is
449 generated dynamically with this
450 command and has dependencies on all
451 units active at the time. At a later
452 time the user may return to this state
453 by using the
454 <command>isolate</command> command on
455 the snapshot unit.</para></listitem>
456
457 <para>Snapshots are only useful for
458 saving and restoring which units are
459 running or are stopped, they do not
460 save/restore any other
461 state. Snapshots are dynamic and lost
462 on reboot.</para>
463 </varlistentry>
464 <varlistentry>
6759e7a7
LP
465 <term><command>delete [NAME...]</command></term>
466
467 <listitem><para>Remove a snapshot
468 previously created with
469 <command>snapshot</command>.</para></listitem>
470 </varlistentry>
471 <varlistentry>
7874bcd6
LP
472 <term><command>daemon-reload</command></term>
473
474 <listitem><para>Reload systemd manager
475 configuration. This will reload all
476 unit files and recreate the entire
477 dependency tree. While the daemon is
af62c704 478 reloaded, all sockets systemd listens
ad678a06 479 on on behalf of user configuration will
7874bcd6
LP
480 stay accessible.</para> <para>This
481 command should not be confused with
482 the <command>load</command> or
483 <command>reload</command>
484 commands.</para></listitem>
485 </varlistentry>
486 <varlistentry>
487 <term><command>daemon-reexec</command></term>
488
489 <listitem><para>Reexecute the systemd
490 manager. This will serialize the
491 manager state, reexecute the process
492 and deserialize the state again. This
493 command is of little use except for
494 debugging and package
495 upgrades. Sometimes it might be
496 helpful as a heavy-weight
497 <command>daemon-reload</command>. While
498 the daemon is reexecuted all sockets
499 systemd listens on on behalf of user
500 configuration will stay
501 accessible.</para></listitem>
502 </varlistentry>
503 <varlistentry>
504 <term><command>daemon-exit</command></term>
505
506 <listitem><para>Ask the systemd
507 manager to quit. This is only
508 supported for session managers
509 (i.e. in conjunction with the
510 <option>--session</option> option) and
511 will fail otherwise.</para></listitem>
512 </varlistentry>
513 <varlistentry>
514 <term><command>show-environment</command></term>
515
516 <listitem><para>Dump the systemd
517 manager environment block. The
518 environment block will be dumped in
519 straight-forward form suitable for
520 sourcing into a shell script. This
521 environment block will be passed to
522 all processes the manager
523 spawns.</para></listitem>
524 </varlistentry>
525 <varlistentry>
526 <term><command>set-environment [NAME=VALUE...]</command></term>
527
528 <listitem><para>Set one or more
529 systemd manager environment variables,
530 as specified on the command
531 line.</para></listitem>
532 </varlistentry>
533 <varlistentry>
534 <term><command>unset-environment [NAME...]</command></term>
535
536 <listitem><para>Unset one or more
537 systemd manager environment
538 variables. If only a variable name is
539 specified it will be removed
540 regardless of its value. If a variable
541 and a value are specified the variable
542 is only removed if it has the
543 specified value.</para></listitem>
544 </varlistentry>
545
546 <varlistentry>
547 <term><command>halt</command></term>
548
549 <listitem><para>Shut down and halt the
550 system. This is mostly equivalent to
551 <command>start halt.target</command>
552 but also prints a wall message to all
553 users.</para></listitem>
554 </varlistentry>
555 <varlistentry>
556 <term><command>poweroff</command></term>
557
558 <listitem><para>Shut down and
559 power-off the system. This is mostly
560 equivalent to <command>start
561 poweroff.target</command> but also
562 prints a wall message to all
563 users.</para></listitem>
564 </varlistentry>
565 <varlistentry>
566 <term><command>reboot</command></term>
567
568 <listitem><para>Shut down and
569 reboot the system. This is mostly
570 equivalent to <command>start
571 reboot.target</command> but also
572 prints a wall message to all
573 users.</para></listitem>
574 </varlistentry>
575 <varlistentry>
576 <term><command>default</command></term>
577
578 <listitem><para>Enter default
579 mode. This is mostly equivalent to
580 <command>start
581 default.target</command>.</para></listitem>
582 </varlistentry>
583 <varlistentry>
584 <term><command>rescue</command></term>
585
586 <listitem><para>Enter rescue
587 mode. This is mostly equivalent to
588 <command>isolate
589 rescue.target</command> but also
590 prints a wall message to all
591 users.</para></listitem>
592 </varlistentry>
593 <varlistentry>
594 <term><command>emergency</command></term>
595
596 <listitem><para>Enter emergency
597 mode. This is mostly equivalent to
598 <command>isolate
f057408c 599 emergency.target</command> but also
7874bcd6
LP
600 prints a wall message to all
601 users.</para></listitem>
602 </varlistentry>
603 </variablelist>
604
605 </refsect1>
606
607 <refsect1>
608 <title>Exit status</title>
609
610 <para>On success 0 is returned, a non-zero failure
611 code otherwise.</para>
612 </refsect1>
613
614 <refsect1>
615 <title>See Also</title>
616 <para>
617 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
618 <citerefentry><refentrytitle>systemadm</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
619 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
620 <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
621 <citerefentry><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry>
622 </para>
623 </refsect1>
624
625</refentry>