3 .\" Author: Lennart Poettering <lennart@poettering.net>
4 .\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
10 .TH "SYSTEMCTL" "1" "02/15/2012" "systemd" "systemctl"
11 .\" -----------------------------------------------------------------
12 .\" * Define some portability stuff
13 .\" -----------------------------------------------------------------
14 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 .\" http://bugs.debian.org/507673
16 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20 .\" -----------------------------------------------------------------
21 .\" * set default formatting
22 .\" -----------------------------------------------------------------
23 .\" disable hyphenation
25 .\" disable justification (adjust text to left margin only)
27 .\" -----------------------------------------------------------------
28 .\" * MAIN CONTENT STARTS HERE *
29 .\" -----------------------------------------------------------------
31 systemctl \- Control the systemd system and service manager
33 .HP \w'\fBsystemctl\ \fR\fB[OPTIONS...]\fR\fB\ \fR\fB{COMMAND}\fR\fB\ \fR\fB[NAME...]\fR\ 'u
34 \fBsystemctl \fR\fB[OPTIONS...]\fR\fB \fR\fB{COMMAND}\fR\fB \fR\fB[NAME...]\fR
38 may be used to introspect and control the state of the
40 system and service manager\&.
43 The following options are understood:
45 \fB\-\-help\fR, \fB\-h\fR
47 Prints a short help text and exits\&.
52 Prints a short version string and exits\&.
55 \fB\-\-type=\fR, \fB\-t\fR
57 When listing units, limit display to certain unit types\&. If not specified units of all types will be shown\&. The argument should be a unit type name such as
63 \fB\-\-property=\fR, \fB\-p\fR
65 When showing unit/job/manager properties, limit display to certain properties as specified as argument\&. If not specified all set properties are shown\&. The argument should be a property name, such as
66 MainPID\&. If specified more than once all properties with the specified names are shown\&.
69 \fB\-\-all\fR, \fB\-a\fR
71 When listing units, show all units, regardless of their state, including inactive units\&. When showing unit/job/manager properties, show all properties regardless whether they are set or not\&.
76 When listing units, show only failed units\&. Do not confuse with
82 Do not ellipsize unit names and truncate unit descriptions in the output of
90 If the requested operation conflicts with a pending unfinished job, fail the command\&. If this is not specified the requested operation will replace the pending job, if necessary\&. Do not confuse with
94 \fB\-\-ignore\-dependencies\fR
96 When enqueuing a new job ignore all its dependencies and execute it immediately\&. If passed no required units of the unit passed will be pulled in, and no ordering dependencies will be honoured\&. This is mostly a debugging and rescue tool for the administrator and should not be used by applications\&.
99 \fB\-\-quiet\fR, \fB\-q\fR
101 Suppress output to STDOUT in
111 Do not synchronously wait for the requested operation to finish\&. If this is not specified the job will be verified, enqueued and
113 will wait until it is completed\&. By passing this argument it is only verified and enqueued\&.
118 Do not print a legend, i\&.e\&. the column headers and the footer with hints\&.
123 Do not pipe output into a pager\&.
128 Talk to the systemd system manager\&. (Default)
133 Talk to the systemd manager of the calling user\&.
136 \fB\-\-order\fR, \fB\-\-require\fR
138 When used in conjunction with the
140 command (see below), selects which dependencies are shown in the dependency graph\&. If
142 is passed only dependencies of type
148 is passed only dependencies of type
150 \fIRequiresOverridable=\fR,
152 \fIRequisiteOverridable=\fR,
156 are shown\&. If neither is passed, shows dependencies of all these types\&.
161 Don\*(Aqt send wall message before halt, power\-off, reboot\&.
169 \fBdisable\fR, operate on the global user configuration directory, thus enabling or disabling a unit file globally for all future logins of all users\&.
177 \fBdisable\fR, do not implicitly reload daemon configuration after executing the changes\&.
180 \fB\-\-no\-ask\-password\fR
184 and related commands, disables asking for passwords\&. Background services may require input of a password or passphrase string, for example to unlock system hard disks or cryptographic certificates\&. Unless this option is specified and the command is invoked from a terminal
186 will query the user on the terminal for the necessary secrets\&. Use this option to switch this behavior off\&. In this case the password must be supplied by some other means (for example graphical password agents) or the service might fail\&.
192 \fBkill\fR, choose which processes to kill\&. Must be one of
197 to select whether to kill only the main process of the unit, the control process or all processes of the unit\&. If omitted defaults to
201 \fB\-\-signal=\fR, \fB\-s\fR
204 \fBkill\fR, choose which signal to send to selected processes\&. Must be one of the well known signal specifiers such as SIGTERM, SIGINT or SIGSTOP\&. If omitted defaults to
208 \fB\-\-force\fR, \fB\-f\fR
211 \fBenable\fR, override any existing conflicting symlinks\&.
218 execute selected operation without shutting down all units\&. However, all processes will be killed forcibly and all file systems are unmounted or remounted read\-only\&. This is hence a drastic but relatively safe option to request an immediate reboot\&.
224 \fBenable\fR/\fBdisable\fR/\fBis\-enabled\fR
225 (and related commands), use alternative root path when looking for unit files\&.
231 \fBenable\fR/\fBdisable\fR/\fBis\-enabled\fR
232 (and related commands), make changes only temporarily, so that they are dropped on the next reboot\&. This will have the effect that changes are not made in subdirectories of
235 /run, with identical immediate effects, however, since the latter is lost on reboot, the changes are lost too\&.
238 \fB\-H\fR, \fB\-\-host\fR
240 Execute operation remotely\&. Specify a hostname, or username and hostname separated by @, to connect to\&. This will use SSH to talk to the remote systemd instance\&.
243 \fB\-P\fR, \fB\-\-privileged\fR
245 Acquire privileges via PolicyKit before executing the operation\&.
248 The following commands are understood:
255 \fBstart [NAME\&.\&.\&.]\fR
257 Start (activate) one or more units specified on the command line\&.
260 \fBstop [NAME\&.\&.\&.]\fR
262 Stop (deactivate) one or more units specified on the command line\&.
265 \fBreload [NAME\&.\&.\&.]\fR
267 Asks all units listed on the command line to reload their configuration\&. Note that this will reload the service\-specific configuration, not the unit configuration file of systemd\&. If you want systemd to reload the configuration file of a unit use the
269 command\&. In other words: for the example case of Apache, this will reload Apache\*(Aqs
271 in the web server, not the
275 This command should not be confused with the
282 \fBrestart [NAME\&.\&.\&.]\fR
284 Restart one or more units specified on the command line\&. If the units are not running yet they will be started\&.
287 \fBtry\-restart [NAME\&.\&.\&.]\fR
289 Restart one or more units specified on the command line if the units are running\&. Do nothing if units are not running\&. Note that for compatibility with Red Hat init scripts
291 is equivalent to this command\&.
294 \fBreload\-or\-restart [NAME\&.\&.\&.]\fR
296 Reload one or more units if they support it\&. If not, restart them instead\&. If the units are not running yet they will be started\&.
299 \fBreload\-or\-try\-restart [NAME\&.\&.\&.]\fR
301 Reload one or more units if they support it\&. If not, restart them instead\&. Do nothing if the units are not running\&. Note that for compatibility with SysV init scripts
303 is equivalent to this command\&.
308 Start the unit specified on the command line and its dependencies and stop all others\&.
310 This is similar to changing the runlevel in a traditional init system\&. The
312 command will immediately stop processes that are not enabled in the new unit, possibly including the graphical environment or terminal you are currently using\&.
314 Note that this works only on units where
317 \fBsystemd.unit\fR(5)
321 \fBkill [NAME\&.\&.\&.]\fR
323 Send a signal to one or more processes of the unit\&. Use
325 to select which process to kill\&. Use
326 \fB\-\-kill\-mode=\fR
327 to select the kill mode and
329 to select the signal to send\&.
332 \fBis\-active [NAME\&.\&.\&.]\fR
334 Check whether any of the specified units are active (i\&.e\&. running)\&. Returns an exit code 0 if at least one is active, non\-zero otherwise\&. Unless
336 is specified this will also print the current unit state to STDOUT\&.
339 \fBstatus [NAME\&.\&.\&.|PID\&.\&.\&.]\fR
341 Show terse runtime status information about one or more units\&. This function is intended to generate human\-readable output\&. If you are looking for computer\-parsable output, use
343 instead\&. If a PID is passed information about the unit the process of the PID belongs to is shown\&.
346 \fBshow [NAME\&.\&.\&.|JOB\&.\&.\&.]\fR
348 Show properties of one or more units, jobs or the manager itself\&. If no argument is specified properties of the manager will be shown\&. If a unit name is specified properties of the unit is shown, and if a job id is specified properties of the job is shown\&. By default, empty properties are suppressed\&. Use
350 to show those too\&. To select specific properties to show use
351 \fB\-\-property=\fR\&. This command is intended to be used whenever computer\-parsable output is required\&. Use
353 if you are looking for formatted human\-readable output\&.
356 \fBreset\-failed [NAME\&.\&.\&.]\fR
358 Reset the \*(Aqfailed\*(Aq state of the specified units, or if no unit name is passed of all units\&. When a unit fails in some way (i\&.e\&. process exiting with non\-zero error code, terminating abnormally or timing out) it will automatically enter the \*(Aqfailed\*(Aq state and its exit code and status is recorded for introspection by the administrator until the service is restarted or reset with this command\&.
361 \fBlist\-unit\-files\fR
363 List installed unit files\&.
366 \fBenable [NAME\&.\&.\&.]\fR
368 Enable one or more unit files, as specified on the command line\&. This will create a number of symlinks as encoded in the
370 sections of the unit files\&. After the symlinks have been created the systemd configuration is reloaded (in a way that is equivalent to
371 \fBdaemon\-reload\fR) to ensure the changes are taken into account immediately\&. Note that this does not have the effect that any of the units enabled are also started at the same time\&. If this is desired a separate
373 command must be invoked for the unit\&.
375 This command will print the actions executed\&. This output may be suppressed by passing
378 Note that this operation creates only the suggested symlinks for the units\&. While this command is the recommended way to manipulate the unit configuration directory, the administrator is free to make additional changes manually, by placing or removing symlinks in the directory\&. This is particularly useful to create configurations that deviate from the suggested default installation\&. In this case the administrator must make sure to invoke
380 manually as necessary, to ensure his changes are taken into account\&.
382 Enabling units should not be confused with starting (activating) units, as done by the
384 command\&. Enabling and starting units is orthogonal: units may be enabled without being started and started without being enabled\&. Enabling simply hooks the unit into various suggested places (for example, so that the unit is automatically started on boot or when a particular kind of hardware is plugged in)\&. Starting actually spawns the daemon process (in case of service units), or binds the socket (in case of socket units), and so on\&.
391 is specified this enables the unit for the system, for the calling user only or for all future logins of all users\&. Note that in the latter case no systemd daemon configuration is reloaded\&.
394 \fBdisable [NAME\&.\&.\&.]\fR
396 Disables one or more units\&. This removes all symlinks to the specified unit files from the unit configuration directory, and hence undoes the changes made by
397 \fBenable\fR\&. Note however that this removes all symlinks to the unit files (i\&.e\&. including manual additions), not just those actually created by
398 \fBenable\fR\&. This call implicitly reloads the systemd daemon configuration after completing the disabling of the units\&. Note that this command does not implicitly stop the units that is being disabled\&. If this is desired an additional
399 \fBstop\fRcommand should be executed afterwards\&.
401 This command will print the actions executed\&. This output may be suppressed by passing
412 \fBis\-enabled [NAME\&.\&.\&.]\fR
414 Checks whether any of the specified unit files is enabled (as with
415 \fBenable\fR)\&. Returns an exit code of 0 if at least one is enabled, non\-zero otherwise\&. Prints the current enable status\&. To suppress this output use
419 \fBreenable [NAME\&.\&.\&.]\fR
421 Reenable one or more unit files, as specified on the command line\&. This is a combination of
425 and is useful to reset the symlinks a unit is enabled with to the defaults configured in the
427 section of the unit file\&.
430 \fBpreset [NAME\&.\&.\&.]\fR
432 Reset one or more unit files, as specified on the command line, to the defaults configured in a preset file\&. This has the same effect as
435 \fBenable\fR, depending how the unit is listed in the preset files\&.
438 \fBmask [NAME\&.\&.\&.]\fR
440 Mask one or more unit files, as specified on the command line\&. This will link these units to
441 /dev/null, making it impossible to start them\&. This is a stronger version of
442 \fBdisable\fR, since it prohibits all kinds of activation of the unit, including manual activation\&. Use this option with care\&.
445 \fBunmask [NAME\&.\&.\&.]\fR
447 Unmask one or more unit files, as specified on the command line\&. This will undo the effect of
451 \fBlink [NAME\&.\&.\&.]\fR
453 Link a unit file that is not in the unit file search paths into the unit file search path\&. This requires an absolute path to a unit file\&. The effect of this can be undone with
454 \fBdisable\fR\&. The effect of this command is that a unit file is available for
456 and other commands although it isn\*(Aqt installed directly in the unit search path\&.
459 \fBload [NAME\&.\&.\&.]\fR
461 Load one or more units specified on the command line\&. This will simply load their configuration from disk, but not start them\&. To start them you need to use the
463 command which will implicitly load a unit that has not been loaded yet\&. Note that systemd garbage collects loaded units that are not active or referenced by an active unit\&. This means that units loaded this way will usually not stay loaded for long\&. Also note that this command cannot be used to reload unit configuration\&. Use the
465 command for that\&. All in all, this command is of little use except for debugging\&.
467 This command should not be confused with the
476 List jobs that are in progress\&.
479 \fBcancel [JOB\&.\&.\&.]\fR
481 Cancel one or more jobs specified on the command line by their numeric job IDs\&. If no job id is specified, cancel all pending jobs\&.
486 Dump server status\&. This will output a (usually very long) human readable manager status dump\&. Its format is subject to change without notice and should not be parsed by applications\&.
491 Generate textual dependency graph description in dot format for further processing with the GraphViz
493 tool\&. Use a command line like
494 \fBsystemctl dot | dot \-Tsvg > systemd\&.svg\fR
495 to generate a graphical dependency tree\&. Unless
499 is passed the generated graph will show both ordering and requirement dependencies\&.
502 \fBsnapshot [NAME]\fR
504 Create a snapshot\&. If a snapshot name is specified, the new snapshot will be named after it\&. If none is specified an automatic snapshot name is generated\&. In either case, the snapshot name used is printed to STDOUT, unless
508 A snapshot refers to a saved state of the systemd manager\&. It is implemented itself as a unit that is generated dynamically with this command and has dependencies on all units active at the time\&. At a later time the user may return to this state by using the
510 command on the snapshot unit\&.
512 Snapshots are only useful for saving and restoring which units are running or are stopped, they do not save/restore any other state\&. Snapshots are dynamic and lost on reboot\&.
515 \fBdelete [NAME\&.\&.\&.]\fR
517 Remove a snapshot previously created with
523 Reload systemd manager configuration\&. This will reload all unit files and recreate the entire dependency tree\&. While the daemon is reloaded, all sockets systemd listens on on behalf of user configuration will stay accessible\&.
525 This command should not be confused with the
534 Reexecute the systemd manager\&. This will serialize the manager state, reexecute the process and deserialize the state again\&. This command is of little use except for debugging and package upgrades\&. Sometimes it might be helpful as a heavy\-weight
535 \fBdaemon\-reload\fR\&. While the daemon is reexecuted all sockets systemd listens on on behalf of user configuration will stay accessible\&.
538 \fBshow\-environment\fR
540 Dump the systemd manager environment block\&. The environment block will be dumped in straight\-forward form suitable for sourcing into a shell script\&. This environment block will be passed to all processes the manager spawns\&.
543 \fBset\-environment [NAME=VALUE\&.\&.\&.]\fR
545 Set one or more systemd manager environment variables, as specified on the command line\&.
548 \fBunset\-environment [NAME\&.\&.\&.]\fR
550 Unset one or more systemd manager environment variables\&. If only a variable name is specified it will be removed regardless of its value\&. If a variable and a value are specified the variable is only removed if it has the specified value\&.
555 Enter default mode\&. This is mostly equivalent to
556 \fBstart default\&.target\fR\&.
561 Enter rescue mode\&. This is mostly equivalent to
562 \fBisolate rescue\&.target\fR
563 but also prints a wall message to all users\&.
568 Enter emergency mode\&. This is mostly equivalent to
569 \fBisolate emergency\&.target\fR
570 but also prints a wall message to all users\&.
575 Shut down and halt the system\&. This is mostly equivalent to
576 \fBstart halt\&.target\fR
577 but also prints a wall message to all users\&. If combined with
579 shutdown of all running services is skipped, however all processes are killed and all file systems are unmounted or mounted read\-only, immediately followed by the system halt\&.
584 Shut down and power\-off the system\&. This is mostly equivalent to
585 \fBstart poweroff\&.target\fR
586 but also prints a wall message to all users\&. If combined with
588 shutdown of all running services is skipped, however all processes are killed and all file systems are unmounted or mounted read\-only, immediately followed by the powering off\&.
593 Shut down and reboot the system\&. This is mostly equivalent to
594 \fBstart reboot\&.target\fR
595 but also prints a wall message to all users\&. If combined with
597 shutdown of all running services is skipped, however all processes are killed and all file systems are unmounted or mounted read\-only, immediately followed by the reboot\&.
602 Shut down and reboot the system via kexec\&. This is mostly equivalent to
603 \fBstart kexec\&.target\fR
604 but also prints a wall message to all users\&. If combined with
606 shutdown of all running services is skipped, however all processes are killed and all file systems are unmounted or mounted read\-only, immediately followed by the reboot\&.
611 Ask the systemd manager to quit\&. This is only supported for user service managers (i\&.e\&. in conjunction with the
613 option) and will fail otherwise\&.
617 On success 0 is returned, a non\-zero failure code otherwise\&.
624 is not given; overrides
625 \fI$PAGER\fR\&. Setting this to an empty string or the value
627 is equivalent to passing
628 \fB\-\-no\-pager\fR\&.
635 \fBsystemd-loginctl\fR(1),
636 \fBsystemd.unit\fR(5),
637 \fBsystemd.special\fR(7),
641 \fBLennart Poettering\fR <\&lennart@poettering\&.net\&>