1SYSTEMCTL(1)                       systemctl                      SYSTEMCTL(1)
2
3
4

NAME

6       systemctl - Control the systemd system and service manager
7

SYNOPSIS

9       systemctl [OPTIONS...] COMMAND [UNIT...]
10

DESCRIPTION

12       systemctl may be used to introspect and control the state of the
13       "systemd" system and service manager. Please refer to systemd(1) for an
14       introduction into the basic concepts and functionality this tool
15       manages.
16

COMMANDS

18       The following commands are understood:
19
20   Unit Commands (Introspection and Modification)
21       list-units [PATTERN...]
22           List units that systemd currently has in memory. This includes
23           units that are either referenced directly or through a dependency,
24           units that are pinned by applications programmatically, or units
25           that were active in the past and have failed. By default only units
26           which are active, have pending jobs, or have failed are shown; this
27           can be changed with option --all. If one or more PATTERNs are
28           specified, only units matching one of them are shown. The units
29           that are shown are additionally filtered by --type= and --state= if
30           those options are specified.
31
32           Note that this command does not show unit templates, but only
33           instances of unit templates. Units templates that aren't
34           instantiated are not runnable, and will thus never show up in the
35           output of this command. Specifically this means that foo@.service
36           will never be shown in this list — unless instantiated, e.g. as
37           foo@bar.service. Use list-unit-files (see below) for listing
38           installed unit template files.
39
40           Produces output similar to
41
42                 UNIT                         LOAD   ACTIVE SUB     DESCRIPTION
43                 sys-module-fuse.device       loaded active plugged /sys/module/fuse
44                 -.mount                      loaded active mounted Root Mount
45                 boot-efi.mount               loaded active mounted /boot/efi
46                 systemd-journald.service     loaded active running Journal Service
47                 systemd-logind.service       loaded active running Login Service
48               ● user@1000.service            loaded failed failed  User Manager for UID 1000
49                 ...
50                 systemd-tmpfiles-clean.timer loaded active waiting Daily Cleanup of Temporary Directories
51
52               LOAD   = Reflects whether the unit definition was properly loaded.
53               ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
54               SUB    = The low-level unit activation state, values depend on unit type.
55
56               123 loaded units listed. Pass --all to see loaded but inactive units, too.
57               To show all installed unit files use 'systemctl list-unit-files'.
58
59           The header and the last unit of a given type are underlined if the
60           terminal supports that. A colored dot is shown next to services
61           which were masked, not found, or otherwise failed.
62
63           The LOAD column shows the load state, one of loaded, not-found,
64           bad-setting, error, masked. The ACTIVE columns shows the general
65           unit state, one of active, reloading, inactive, failed, activating,
66           deactivating. The SUB column shows the unit-type-specific detailed
67           state of the unit, possible values vary by unit type. The list of
68           possible LOAD, ACTIVE, and SUB states is not constant and new
69           systemd releases may both add and remove values.
70
71               systemctl --state=help
72
73           command maybe be used to display the current set of possible
74           values.
75
76           This is the default command.
77
78       list-automounts [PATTERN...]
79           List automount units currently in memory, ordered by mount path. If
80           one or more PATTERNs are specified, only automount units matching
81           one of them are shown. Produces output similar to
82
83               WHAT        WHERE                    MOUNTED IDLE TIMEOUT UNIT
84               /dev/sdb1   /mnt/test                no      120s         mnt-test.automount
85               binfmt_misc /proc/sys/fs/binfmt_misc yes     0            proc-sys-fs-binfmt_misc.automount
86
87               2 automounts listed.
88
89           Also see --show-types, --all, and --state=.
90
91       list-sockets [PATTERN...]
92           List socket units currently in memory, ordered by listening
93           address. If one or more PATTERNs are specified, only socket units
94           matching one of them are shown. Produces output similar to
95
96               LISTEN           UNIT                        ACTIVATES
97               /dev/initctl     systemd-initctl.socket      systemd-initctl.service
98               ...
99               [::]:22          sshd.socket                 sshd.service
100               kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
101
102               5 sockets listed.
103
104           Note: because the addresses might contains spaces, this output is
105           not suitable for programmatic consumption.
106
107           Also see --show-types, --all, and --state=.
108
109       list-timers [PATTERN...]
110           List timer units currently in memory, ordered by the time they
111           elapse next. If one or more PATTERNs are specified, only units
112           matching one of them are shown. Produces output similar to
113
114               NEXT                         LEFT          LAST                         PASSED     UNIT                         ACTIVATES
115               -                            -             Thu 2017-02-23 13:40:29 EST  3 days ago ureadahead-stop.timer        ureadahead-stop.service
116               Sun 2017-02-26 18:55:42 EST  1min 14s left Thu 2017-02-23 13:54:44 EST  3 days ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
117               Sun 2017-02-26 20:37:16 EST  1h 42min left Sun 2017-02-26 11:56:36 EST  6h ago     apt-daily.timer              apt-daily.service
118               Sun 2017-02-26 20:57:49 EST  2h 3min left  Sun 2017-02-26 11:56:36 EST  6h ago     snapd.refresh.timer          snapd.refresh.service
119
120
121           NEXT shows the next time the timer will run.
122
123           LEFT shows how long till the next time the timer runs.
124
125           LAST shows the last time the timer ran.
126
127           PASSED shows how long has passed since the timer last ran.
128
129           UNIT shows the name of the timer
130
131           ACTIVATES shows the name the service the timer activates when it
132           runs.
133
134           Also see --all and --state=.
135
136       is-active PATTERN...
137           Check whether any of the specified units are active (i.e. running).
138           Returns an exit code 0 if at least one is active, or non-zero
139           otherwise. Unless --quiet is specified, this will also print the
140           current unit state to standard output.
141
142       is-failed PATTERN...
143           Check whether any of the specified units are in a "failed" state.
144           Returns an exit code 0 if at least one has failed, non-zero
145           otherwise. Unless --quiet is specified, this will also print the
146           current unit state to standard output.
147
148       status [PATTERN...|PID...]]
149           Show runtime status information about the whole system or about one
150           or more units followed by most recent log data from the journal. If
151           no positional arguments are specified, and no unit filter is given
152           with --type=, --state=, or --failed, shows the status of the whole
153           system. If combined with --all, follows that with the status of all
154           units. If positional arguments are specified, each positional
155           argument is treated as either a unit name to show, or a glob
156           pattern to show units whose names match that pattern, or a PID to
157           show the unit containing that PID. When --type=, --state=, or
158           --failed are used, units are additionally filtered by the TYPE and
159           ACTIVE state.
160
161           This function is intended to generate human-readable output. If you
162           are looking for computer-parsable output, use show instead. By
163           default, this function only shows 10 lines of output and ellipsizes
164           lines to fit in the terminal window. This can be changed with
165           --lines and --full, see above. In addition, journalctl --unit=NAME
166           or journalctl --user-unit=NAME use a similar filter for messages
167           and might be more convenient.
168
169           Note that this operation only displays runtime status, i.e.
170           information about the current invocation of the unit (if it is
171           running) or the most recent invocation (if it is not running
172           anymore, and has not been released from memory). Information about
173           earlier invocations, invocations from previous system boots, or
174           prior invocations that have already been released from memory may
175           be retrieved via journalctl --unit=.
176
177           systemd implicitly loads units as necessary, so just running the
178           status will attempt to load a file. The command is thus not useful
179           for determining if something was already loaded or not. The units
180           may possibly also be quickly unloaded after the operation is
181           completed if there's no reason to keep it in memory thereafter.
182
183           Example 1. Example output from systemctl status
184
185               $ systemctl status bluetooth
186               ● bluetooth.service - Bluetooth service
187                  Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; preset: enabled)
188                  Active: active (running) since Wed 2017-01-04 13:54:04 EST; 1 weeks 0 days ago
189                    Docs: man:bluetoothd(8)
190                Main PID: 930 (bluetoothd)
191                  Status: "Running"
192                   Tasks: 1
193                  Memory: 648.0K
194                     CPU: 435ms
195                  CGroup: /system.slice/bluetooth.service
196                          └─930 /usr/lib/bluetooth/bluetoothd
197
198               Jan 12 10:46:45 example.com bluetoothd[8900]: Not enough free handles to register service
199               Jan 12 10:46:45 example.com bluetoothd[8900]: Current Time Service could not be registered
200               Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output error (5)
201
202           The dot ("●") uses color on supported terminals to summarize the
203           unit state at a glance. Along with its color, its shape varies
204           according to its state: "inactive" or "maintenance" is a white
205           circle ("○"), "active" is a green dot ("●"), "deactivating" is a
206           white dot, "failed" or "error" is a red cross ("×"), and
207           "reloading" is a green clockwise circle arrow ("↻").
208
209           The "Loaded:" line in the output will show "loaded" if the unit has
210           been loaded into memory. Other possible values for "Loaded:"
211           include: "error" if there was a problem loading it, "not-found" if
212           no unit file was found for this unit, "bad-setting" if an essential
213           unit file setting could not be parsed and "masked" if the unit file
214           has been masked. Along with showing the path to the unit file, this
215           line will also show the enablement state. Enabled units are
216           included in the dependency network between units, and thus are
217           started at boot or via some other form of activation. See the full
218           table of possible enablement states — including the definition of
219           "masked" — in the documentation for the is-enabled command.
220
221           The "Active:" line shows active state. The value is usually
222           "active" or "inactive". Active could mean started, bound, plugged
223           in, etc depending on the unit type. The unit could also be in
224           process of changing states, reporting a state of "activating" or
225           "deactivating". A special "failed" state is entered when the
226           service failed in some way, such as a crash, exiting with an error
227           code or timing out. If the failed state is entered the cause will
228           be logged for later reference.
229
230       show [PATTERN...|JOB...]
231           Show properties of one or more units, jobs, or the manager itself.
232           If no argument is specified, properties of the manager will be
233           shown. If a unit name is specified, properties of the unit are
234           shown, and if a job ID is specified, properties of the job are
235           shown. By default, empty properties are suppressed. Use --all to
236           show those too. To select specific properties to show, use
237           --property=. This command is intended to be used whenever
238           computer-parsable output is required. Use status if you are looking
239           for formatted human-readable output.
240
241           Many properties shown by systemctl show map directly to
242           configuration settings of the system and service manager and its
243           unit files. Note that the properties shown by the command are
244           generally more low-level, normalized versions of the original
245           configuration settings and expose runtime state in addition to
246           configuration. For example, properties shown for service units
247           include the service's current main process identifier as "MainPID"
248           (which is runtime state), and time settings are always exposed as
249           properties ending in the "...USec" suffix even if a matching
250           configuration options end in "...Sec", because microseconds is the
251           normalized time unit used internally by the system and service
252           manager.
253
254           For details about many of these properties, see the documentation
255           of the D-Bus interface backing these properties, see
256           org.freedesktop.systemd1(5).
257
258       cat PATTERN...
259           Show backing files of one or more units. Prints the "fragment" and
260           "drop-ins" (source files) of units. Each file is preceded by a
261           comment which includes the file name. Note that this shows the
262           contents of the backing files on disk, which may not match the
263           system manager's understanding of these units if any unit files
264           were updated on disk and the daemon-reload command wasn't issued
265           since.
266
267       help PATTERN...|PID...
268           Show manual pages for one or more units, if available. If a PID is
269           given, the manual pages for the unit the process belongs to are
270           shown.
271
272       list-dependencies [UNIT...]
273           Shows units required and wanted by the specified units. This
274           recursively lists units following the Requires=, Requisite=,
275           ConsistsOf=, Wants=, BindsTo= dependencies. If no units are
276           specified, default.target is implied.
277
278           The units that are shown are additionally filtered by --type= and
279           --state= if those options are specified. Note that we won't be able
280           to use a tree structure in this case, so --plain is implied.
281
282           By default, only target units are recursively expanded. When --all
283           is passed, all other units are recursively expanded as well.
284
285           Options --reverse, --after, --before may be used to change what
286           types of dependencies are shown.
287
288           Note that this command only lists units currently loaded into
289           memory by the service manager. In particular, this command is not
290           suitable to get a comprehensive list at all reverse dependencies on
291           a specific unit, as it won't list the dependencies declared by
292           units currently not loaded.
293
294       start PATTERN...
295           Start (activate) one or more units specified on the command line.
296
297           Note that unit glob patterns expand to names of units currently in
298           memory. Units which are not active and are not in a failed state
299           usually are not in memory, and will not be matched by any pattern.
300           In addition, in case of instantiated units, systemd is often
301           unaware of the instance name until the instance has been started.
302           Therefore, using glob patterns with start has limited usefulness.
303           Also, secondary alias names of units are not considered.
304
305           Option --all may be used to also operate on inactive units which
306           are referenced by other loaded units. Note that this is not the
307           same as operating on "all" possible units, because as the previous
308           paragraph describes, such a list is ill-defined. Nevertheless,
309           systemctl start --all GLOB may be useful if all the units that
310           should match the pattern are pulled in by some target which is
311           known to be loaded.
312
313       stop PATTERN...
314           Stop (deactivate) one or more units specified on the command line.
315
316           This command will fail if the unit does not exist or if stopping of
317           the unit is prohibited (see RefuseManualStop= in systemd.unit(5)).
318           It will not fail if any of the commands configured to stop the unit
319           (ExecStop=, etc.) fail, because the manager will still forcibly
320           terminate the unit.
321
322       reload PATTERN...
323           Asks all units listed on the command line to reload their
324           configuration. Note that this will reload the service-specific
325           configuration, not the unit configuration file of systemd. If you
326           want systemd to reload the configuration file of a unit, use the
327           daemon-reload command. In other words: for the example case of
328           Apache, this will reload Apache's httpd.conf in the web server, not
329           the apache.service systemd unit file.
330
331           This command should not be confused with the daemon-reload command.
332
333       restart PATTERN...
334           Stop and then start one or more units specified on the command
335           line. If the units are not running yet, they will be started.
336
337           Note that restarting a unit with this command does not necessarily
338           flush out all of the unit's resources before it is started again.
339           For example, the per-service file descriptor storage facility (see
340           FileDescriptorStoreMax= in systemd.service(5)) will remain intact
341           as long as the unit has a job pending, and is only cleared when the
342           unit is fully stopped and no jobs are pending anymore. If it is
343           intended that the file descriptor store is flushed out, too, during
344           a restart operation an explicit systemctl stop command followed by
345           systemctl start should be issued.
346
347       try-restart PATTERN...
348           Stop and then start one or more units specified on the command line
349           if the units are running. This does nothing if units are not
350           running.
351
352       reload-or-restart PATTERN...
353           Reload one or more units if they support it. If not, stop and then
354           start them instead. If the units are not running yet, they will be
355           started.
356
357       try-reload-or-restart PATTERN...
358           Reload one or more units if they support it. If not, stop and then
359           start them instead. This does nothing if the units are not running.
360
361       isolate UNIT
362           Start the unit specified on the command line and its dependencies
363           and stop all others, unless they have IgnoreOnIsolate=yes (see
364           systemd.unit(5)). If a unit name with no extension is given, an
365           extension of ".target" will be assumed.
366
367           This command is dangerous, since it will immediately stop processes
368           that are not enabled in the new target, possibly including the
369           graphical environment or terminal you are currently using.
370
371           Note that this operation is allowed only on units where
372           AllowIsolate= is enabled. See systemd.unit(5) for details.
373
374       kill PATTERN...
375           Send a signal to one or more processes of the unit. Use
376           --kill-whom= to select which process to kill. Use --signal= to
377           select the signal to send.
378
379       clean PATTERN...
380           Remove the configuration, state, cache, logs or runtime data of the
381           specified units. Use --what= to select which kind of resource to
382           remove. For service units this may be used to remove the
383           directories configured with ConfigurationDirectory=,
384           StateDirectory=, CacheDirectory=, LogsDirectory= and
385           RuntimeDirectory=, see systemd.exec(5) for details. For timer units
386           this may be used to clear out the persistent timestamp data if
387           Persistent= is used and --what=state is selected, see
388           systemd.timer(5). This command only applies to units that use
389           either of these settings. If --what= is not specified, both the
390           cache and runtime data are removed (as these two types of data are
391           generally redundant and reproducible on the next invocation of the
392           unit).
393
394       freeze PATTERN...
395           Freeze one or more units specified on the command line using cgroup
396           freezer
397
398           Freezing the unit will cause all processes contained within the
399           cgroup corresponding to the unit to be suspended. Being suspended
400           means that unit's processes won't be scheduled to run on CPU until
401           thawed. Note that this command is supported only on systems that
402           use unified cgroup hierarchy. Unit is automatically thawed just
403           before we execute a job against the unit, e.g. before the unit is
404           stopped.
405
406       thaw PATTERN...
407           Thaw (unfreeze) one or more units specified on the command line.
408
409           This is the inverse operation to the freeze command and resumes the
410           execution of processes in the unit's cgroup.
411
412       set-property UNIT PROPERTY=VALUE...
413           Set the specified unit properties at runtime where this is
414           supported. This allows changing configuration parameter properties
415           such as resource control settings at runtime. Not all properties
416           may be changed at runtime, but many resource control settings
417           (primarily those in systemd.resource-control(5)) may. The changes
418           are applied immediately, and stored on disk for future boots,
419           unless --runtime is passed, in which case the settings only apply
420           until the next reboot. The syntax of the property assignment
421           follows closely the syntax of assignments in unit files.
422
423           Example: systemctl set-property foobar.service CPUWeight=200
424
425           If the specified unit appears to be inactive, the changes will be
426           only stored on disk as described previously hence they will be
427           effective when the unit will be started.
428
429           Note that this command allows changing multiple properties at the
430           same time, which is preferable over setting them individually.
431
432           Example: systemctl set-property foobar.service CPUWeight=200
433           MemoryMax=2G IPAccounting=yes
434
435           Like with unit file configuration settings, assigning an empty
436           setting usually resets a property to its defaults.
437
438           Example: systemctl set-property avahi-daemon.service IPAddressDeny=
439
440       bind UNIT PATH [PATH]
441           Bind-mounts a file or directory from the host into the specified
442           unit's mount namespace. The first path argument is the source file
443           or directory on the host, the second path argument is the
444           destination file or directory in the unit's mount namespace. When
445           the latter is omitted, the destination path in the unit's mount
446           namespace is the same as the source path on the host. When combined
447           with the --read-only switch, a ready-only bind mount is created.
448           When combined with the --mkdir switch, the destination path is
449           first created before the mount is applied.
450
451           Note that this option is currently only supported for units that
452           run within a mount namespace (e.g.: with RootImage=,
453           PrivateMounts=, etc.). This command supports bind-mounting
454           directories, regular files, device nodes, AF_UNIX socket nodes, as
455           well as FIFOs. The bind mount is ephemeral, and it is undone as
456           soon as the current unit process exists. Note that the namespace
457           mentioned here, where the bind mount will be added to, is the one
458           where the main service process runs. Other processes (those
459           exececuted by ExecReload=, ExecStartPre=, etc.) run in distinct
460           namespaces.
461
462       mount-image UNIT IMAGE [PATH [PARTITION_NAME:MOUNT_OPTIONS]]
463           Mounts an image from the host into the specified unit's mount
464           namespace. The first path argument is the source image on the host,
465           the second path argument is the destination directory in the unit's
466           mount namespace (i.e. inside RootImage=/RootDirectory=). The
467           following argument, if any, is interpreted as a colon-separated
468           tuple of partition name and comma-separated list of mount options
469           for that partition. The format is the same as the service
470           MountImages= setting. When combined with the --read-only switch, a
471           ready-only mount is created. When combined with the --mkdir switch,
472           the destination path is first created before the mount is applied.
473
474           Note that this option is currently only supported for units that
475           run within a mount namespace (i.e. with RootImage=, PrivateMounts=,
476           etc.). Note that the namespace mentioned here where the image mount
477           will be added to, is the one where the main service process runs.
478           Note that the namespace mentioned here, where the bind mount will
479           be added to, is the one where the main service process runs. Other
480           processes (those exececuted by ExecReload=, ExecStartPre=, etc.)
481           run in distinct namespaces.
482
483           Example:
484
485               systemctl mount-image foo.service /tmp/img.raw /var/lib/image root:ro,nosuid
486
487
488
489               systemctl mount-image --mkdir bar.service /tmp/img.raw /var/lib/baz/img
490
491
492       service-log-level SERVICE [LEVEL]
493           If the LEVEL argument is not given, print the current log level as
494           reported by service SERVICE.
495
496           If the optional argument LEVEL is provided, then change the current
497           log level of the service to LEVEL. The log level should be a
498           typical syslog log level, i.e. a value in the range 0...7 or one of
499           the strings emerg, alert, crit, err, warning, notice, info, debug;
500           see syslog(3) for details.
501
502           The service must have the appropriate BusName=destination property
503           and also implement the generic org.freedesktop.LogControl1(5)
504           interface. (systemctl will use the generic D-Bus protocol to access
505           the org.freedesktop.LogControl1.LogLevel interface for the D-Bus
506           name destination.)
507
508       service-log-target SERVICE [TARGET]
509           If the TARGET argument is not given, print the current log target
510           as reported by service SERVICE.
511
512           If the optional argument TARGET is provided, then change the
513           current log target of the service to TARGET. The log target should
514           be one of the strings console (for log output to the service's
515           standard error stream), kmsg (for log output to the kernel log
516           buffer), journal (for log output to systemd-journald.service(8)
517           using the native journal protocol), syslog (for log output to the
518           classic syslog socket /dev/log), null (for no log output
519           whatsoever) or auto (for an automatically determined choice,
520           typically equivalent to console if the service is invoked
521           interactively, and journal or syslog otherwise).
522
523           For most services, only a small subset of log targets make sense.
524           In particular, most "normal" services should only implement
525           console, journal, and null. Anything else is only appropriate for
526           low-level services that are active in very early boot before proper
527           logging is established.
528
529           The service must have the appropriate BusName=destination property
530           and also implement the generic org.freedesktop.LogControl1(5)
531           interface. (systemctl will use the generic D-Bus protocol to access
532           the org.freedesktop.LogControl1.LogLevel interface for the D-Bus
533           name destination.)
534
535       reset-failed [PATTERN...]
536           Reset the "failed" state of the specified units, or if no unit name
537           is passed, reset the state of all units. When a unit fails in some
538           way (i.e. process exiting with non-zero error code, terminating
539           abnormally or timing out), it will automatically enter the "failed"
540           state and its exit code and status is recorded for introspection by
541           the administrator until the service is stopped/re-started or reset
542           with this command.
543
544           In addition to resetting the "failed" state of a unit it also
545           resets various other per-unit properties: the start rate limit
546           counter of all unit types is reset to zero, as is the restart
547           counter of service units. Thus, if a unit's start limit (as
548           configured with StartLimitIntervalSec=/StartLimitBurst=) is hit and
549           the unit refuses to be started again, use this command to make it
550           startable again.
551
552   Unit File Commands
553       list-unit-files [PATTERN...]
554           List unit files installed on the system, in combination with their
555           enablement state (as reported by is-enabled). If one or more
556           PATTERNs are specified, only unit files whose name matches one of
557           them are shown (patterns matching unit file system paths are not
558           supported).
559
560           Unlike list-units this command will list template units in addition
561           to explicitly instantiated units.
562
563       enable UNIT..., enable PATH...
564           Enable one or more units or unit instances. This will create a set
565           of symlinks, as encoded in the [Install] sections of the indicated
566           unit files. After the symlinks have been created, the system
567           manager configuration is reloaded (in a way equivalent to
568           daemon-reload), in order to ensure the changes are taken into
569           account immediately. Note that this does not have the effect of
570           also starting any of the units being enabled. If this is desired,
571           combine this command with the --now switch, or invoke start with
572           appropriate arguments later. Note that in case of unit instance
573           enablement (i.e. enablement of units of the form foo@bar.service),
574           symlinks named the same as instances are created in the unit
575           configuration directory, however they point to the single template
576           unit file they are instantiated from.
577
578           This command expects either valid unit names (in which case various
579           unit file directories are automatically searched for unit files
580           with appropriate names), or absolute paths to unit files (in which
581           case these files are read directly). If a specified unit file is
582           located outside of the usual unit file directories, an additional
583           symlink is created, linking it into the unit configuration path,
584           thus ensuring it is found when requested by commands such as start.
585           The file system where the linked unit files are located must be
586           accessible when systemd is started (e.g. anything underneath /home/
587           or /var/ is not allowed, unless those directories are located on
588           the root file system).
589
590           This command will print the file system operations executed. This
591           output may be suppressed by passing --quiet.
592
593           Note that this operation creates only the symlinks suggested in the
594           [Install] section of the unit files. While this command is the
595           recommended way to manipulate the unit configuration directory, the
596           administrator is free to make additional changes manually by
597           placing or removing symlinks below this directory. This is
598           particularly useful to create configurations that deviate from the
599           suggested default installation. In this case, the administrator
600           must make sure to invoke daemon-reload manually as necessary, in
601           order to ensure the changes are taken into account.
602
603           When using this operation on units without install information, a
604           warning about it is shown.  --no-warn can be used to suppress the
605           warning.
606
607           Enabling units should not be confused with starting (activating)
608           units, as done by the start command. Enabling and starting units is
609           orthogonal: units may be enabled without being started and started
610           without being enabled. Enabling simply hooks the unit into various
611           suggested places (for example, so that the unit is automatically
612           started on boot or when a particular kind of hardware is plugged
613           in). Starting actually spawns the daemon process (in case of
614           service units), or binds the socket (in case of socket units), and
615           so on.
616
617           Depending on whether --system, --user, --runtime, or --global is
618           specified, this enables the unit for the system, for the calling
619           user only, for only this boot of the system, or for all future
620           logins of all users. Note that in the last case, no systemd daemon
621           configuration is reloaded.
622
623           Using enable on masked units is not supported and results in an
624           error.
625
626       disable UNIT...
627           Disables one or more units. This removes all symlinks to the unit
628           files backing the specified units from the unit configuration
629           directory, and hence undoes any changes made by enable or link.
630           Note that this removes all symlinks to matching unit files,
631           including manually created symlinks, and not just those actually
632           created by enable or link. Note that while disable undoes the
633           effect of enable, the two commands are otherwise not symmetric, as
634           disable may remove more symlinks than a prior enable invocation of
635           the same unit created.
636
637           This command expects valid unit names only, it does not accept
638           paths to unit files.
639
640           In addition to the units specified as arguments, all units are
641           disabled that are listed in the Also= setting contained in the
642           [Install] section of any of the unit files being operated on.
643
644           This command implicitly reloads the system manager configuration
645           after completing the operation. Note that this command does not
646           implicitly stop the units that are being disabled. If this is
647           desired, either combine this command with the --now switch, or
648           invoke the stop command with appropriate arguments later.
649
650           This command will print information about the file system
651           operations (symlink removals) executed. This output may be
652           suppressed by passing --quiet.
653
654           This command honors --system, --user, --runtime, --global and
655           --no-warn in a similar way as enable.
656
657       reenable UNIT...
658           Reenable one or more units, as specified on the command line. This
659           is a combination of disable and enable and is useful to reset the
660           symlinks a unit file is enabled with to the defaults configured in
661           its [Install] section. This command expects a unit name only, it
662           does not accept paths to unit files.
663
664       preset UNIT...
665           Reset the enable/disable status one or more unit files, as
666           specified on the command line, to the defaults configured in the
667           preset policy files. This has the same effect as disable or enable,
668           depending how the unit is listed in the preset files.
669
670           Use --preset-mode= to control whether units shall be enabled and
671           disabled, or only enabled, or only disabled.
672
673           If the unit carries no install information, it will be silently
674           ignored by this command.  UNIT must be the real unit name, any
675           alias names are ignored silently.
676
677           For more information on the preset policy format, see
678           systemd.preset(5).
679
680       preset-all
681           Resets all installed unit files to the defaults configured in the
682           preset policy file (see above).
683
684           Use --preset-mode= to control whether units shall be enabled and
685           disabled, or only enabled, or only disabled.
686
687       is-enabled UNIT...
688           Checks whether any of the specified unit files are enabled (as with
689           enable). Returns an exit code of 0 if at least one is enabled,
690           non-zero otherwise. Prints the current enable status (see table).
691           To suppress this output, use --quiet. To show installation targets,
692           use --full.
693
694           Table 1.  is-enabled output
695           ┌──────────────────┬─────────────────────────┬───────────┐
696Name              Description             Exit Code 
697           ├──────────────────┼─────────────────────────┼───────────┤
698           │"enabled"         │ Enabled via             │           │
699           ├──────────────────┤ .wants/, .requires/     │           │
700           │"enabled-runtime" │ or Alias= symlinks      │           │
701           │                  │ (permanently in         │ 0         │
702           │                  │ /etc/systemd/system/,   │           │
703           │                  │ or transiently in       │           │
704           │                  │ /run/systemd/system/).  │           │
705           ├──────────────────┼─────────────────────────┼───────────┤
706           │"linked"          │ Made available through  │           │
707           ├──────────────────┤ one or more symlinks    │           │
708           │"linked-runtime"  │ to the unit file        │           │
709           │                  │ (permanently in         │           │
710           │                  │ /etc/systemd/system/    │           │
711           │                  │ or transiently in       │ > 0       │
712           │                  │ /run/systemd/system/),  │           │
713           │                  │ even though the unit    │           │
714           │                  │ file might reside       │           │
715           │                  │ outside of the unit     │           │
716           │                  │ file search path.       │           │
717           ├──────────────────┼─────────────────────────┼───────────┤
718           │"alias"           │ The name is an alias    │ 0         │
719           │                  │ (symlink to another     │           │
720           │                  │ unit file).             │           │
721           ├──────────────────┼─────────────────────────┼───────────┤
722           │"masked"          │ Completely disabled,    │           │
723           ├──────────────────┤ so that any start       │           │
724           │"masked-runtime"  │ operation on it fails   │           │
725           │                  │ (permanently in         │ > 0       │
726           │                  │ /etc/systemd/system/    │           │
727           │                  │ or transiently in       │           │
728           │                  │ /run/systemd/systemd/). │           │
729           ├──────────────────┼─────────────────────────┼───────────┤
730           │"static"          │ The unit file is not    │ 0         │
731           │                  │ enabled, and has no     │           │
732           │                  │ provisions for enabling │           │
733           │                  │ in the [Install] unit   │           │
734           │                  │ file section.           │           │
735           ├──────────────────┼─────────────────────────┼───────────┤
736           │"indirect"        │ The unit file itself is │ 0         │
737           │                  │ not enabled, but it has │           │
738           │                  │ a non-empty Also=       │           │
739           │                  │ setting in the          │           │
740           │                  │ [Install] unit file     │           │
741           │                  │ section, listing other  │           │
742           │                  │ unit files that might   │           │
743           │                  │ be enabled, or it has   │           │
744           │                  │ an alias under a        │           │
745           │                  │ different name through  │           │
746           │                  │ a symlink that is not   │           │
747           │                  │ specified in Also=. For │           │
748           │                  │ template unit files, an │           │
749           │                  │ instance different than │           │
750           │                  │ the one specified in    │           │
751           │                  │ DefaultInstance= is     │           │
752           │                  │ enabled.                │           │
753           ├──────────────────┼─────────────────────────┼───────────┤
754           │"disabled"        │ The unit file is not    │ > 0       │
755           │                  │ enabled, but contains   │           │
756           │                  │ an [Install] section    │           │
757           │                  │ with installation       │           │
758           │                  │ instructions.           │           │
759           ├──────────────────┼─────────────────────────┼───────────┤
760           │"generated"       │ The unit file was       │ 0         │
761           │                  │ generated dynamically   │           │
762           │                  │ via a generator tool.   │           │
763           │                  │ See                     │           │
764           │                  │ systemd.generator(7).   │           │
765           │                  │ Generated unit files    │           │
766           │                  │ may not be enabled,     │           │
767           │                  │ they are enabled        │           │
768           │                  │ implicitly by their     │           │
769           │                  │ generator.              │           │
770           ├──────────────────┼─────────────────────────┼───────────┤
771           │"transient"       │ The unit file has been  │ 0         │
772           │                  │ created dynamically     │           │
773           │                  │ with the runtime API.   │           │
774           │                  │ Transient units may not │           │
775           │                  │ be enabled.             │           │
776           ├──────────────────┼─────────────────────────┼───────────┤
777           │"bad"             │ The unit file is        │ > 0       │
778           │                  │ invalid or another      │           │
779           │                  │ error occurred. Note    │           │
780           │                  │ that is-enabled will    │           │
781           │                  │ not actually return     │           │
782           │                  │ this state, but print   │           │
783           │                  │ an error message        │           │
784           │                  │ instead. However the    │           │
785           │                  │ unit file listing       │           │
786           │                  │ printed by              │           │
787           │                  │ list-unit-files might   │           │
788           │                  │ show it.                │           │
789           ├──────────────────┼─────────────────────────┼───────────┤
790           │"not-found"       │ The unit file doesn't   │ 4         │
791           │                  │ exist.                  │           │
792           └──────────────────┴─────────────────────────┴───────────┘
793
794       mask UNIT...
795           Mask one or more units, as specified on the command line. This will
796           link these unit files to /dev/null, making it impossible to start
797           them. This is a stronger version of disable, since it prohibits all
798           kinds of activation of the unit, including enablement and manual
799           activation. Use this option with care. This honors the --runtime
800           option to only mask temporarily until the next reboot of the
801           system. The --now option may be used to ensure that the units are
802           also stopped. This command expects valid unit names only, it does
803           not accept unit file paths.
804
805           Note that this will create a symlink under the unit's name in
806           /etc/systemd/system/ (in case --runtime is not specified) or
807           /run/systemd/system/ (in case --runtime is specified). If a
808           matching unit file already exists under these directories this
809           operation will hence fail. This means that the operation is
810           primarily useful to mask units shipped by the vendor (as those are
811           shipped in /usr/lib/systemd/system/ and not the aforementioned two
812           directories), but typically doesn't work for units created locally
813           (as those are typically placed precisely in the two aforementioned
814           directories). Similar restrictions apply for --user mode, in which
815           case the directories are below the user's home directory however.
816
817       unmask UNIT...
818           Unmask one or more unit files, as specified on the command line.
819           This will undo the effect of mask. This command expects valid unit
820           names only, it does not accept unit file paths.
821
822       link PATH...
823           Link a unit file that is not in the unit file search path into the
824           unit file search path. This command expects an absolute path to a
825           unit file. The effect of this may be undone with disable. The
826           effect of this command is that a unit file is made available for
827           commands such as start, even though it is not installed directly in
828           the unit search path. The file system where the linked unit files
829           are located must be accessible when systemd is started (e.g.
830           anything underneath /home/ or /var/ is not allowed, unless those
831           directories are located on the root file system).
832
833       revert UNIT...
834           Revert one or more unit files to their vendor versions. This
835           command removes drop-in configuration files that modify the
836           specified units, as well as any user-configured unit file that
837           overrides a matching vendor supplied unit file. Specifically, for a
838           unit "foo.service" the matching directories "foo.service.d/" with
839           all their contained files are removed, both below the persistent
840           and runtime configuration directories (i.e. below
841           /etc/systemd/system and /run/systemd/system); if the unit file has
842           a vendor-supplied version (i.e. a unit file located below /usr/)
843           any matching persistent or runtime unit file that overrides it is
844           removed, too. Note that if a unit file has no vendor-supplied
845           version (i.e. is only defined below /etc/systemd/system or
846           /run/systemd/system, but not in a unit file stored below /usr/),
847           then it is not removed. Also, if a unit is masked, it is unmasked.
848
849           Effectively, this command may be used to undo all changes made with
850           systemctl edit, systemctl set-property and systemctl mask and puts
851           the original unit file with its settings back in effect.
852
853       add-wants TARGET UNIT..., add-requires TARGET UNIT...
854           Adds "Wants=" or "Requires=" dependencies, respectively, to the
855           specified TARGET for one or more units.
856
857           This command honors --system, --user, --runtime and --global in a
858           way similar to enable.
859
860       edit UNIT...
861           Edit a drop-in snippet or a whole replacement file if --full is
862           specified, to extend or override the specified unit.
863
864           Depending on whether --system (the default), --user, or --global is
865           specified, this command creates a drop-in file for each unit either
866           for the system, for the calling user, or for all futures logins of
867           all users. Then, the editor (see the "Environment" section below)
868           is invoked on temporary files which will be written to the real
869           location if the editor exits successfully.
870
871           If --drop-in= is specified, the given drop-in file name will be
872           used instead of the default override.conf.
873
874           If --full is specified, this will copy the original units instead
875           of creating drop-in files.
876
877           If --force is specified and any units do not already exist, new
878           unit files will be opened for editing.
879
880           If --runtime is specified, the changes will be made temporarily in
881           /run/ and they will be lost on the next reboot.
882
883           If the temporary file is empty upon exit, the modification of the
884           related unit is canceled.
885
886           After the units have been edited, systemd configuration is reloaded
887           (in a way that is equivalent to daemon-reload).
888
889           Note that this command cannot be used to remotely edit units and
890           that you cannot temporarily edit units which are in /etc/, since
891           they take precedence over /run/.
892
893       get-default
894           Return the default target to boot into. This returns the target
895           unit name default.target is aliased (symlinked) to.
896
897       set-default TARGET
898           Set the default target to boot into. This sets (symlinks) the
899           default.target alias to the given target unit.
900
901   Machine Commands
902       list-machines [PATTERN...]
903           List the host and all running local containers with their state. If
904           one or more PATTERNs are specified, only containers matching one of
905           them are shown.
906
907   Job Commands
908       list-jobs [PATTERN...]
909           List jobs that are in progress. If one or more PATTERNs are
910           specified, only jobs for units matching one of them are shown.
911
912           When combined with --after or --before the list is augmented with
913           information on which other job each job is waiting for, and which
914           other jobs are waiting for it, see above.
915
916       cancel [JOB...]
917           Cancel one or more jobs specified on the command line by their
918           numeric job IDs. If no job ID is specified, cancel all pending
919           jobs.
920
921   Environment Commands
922       systemd supports an environment block that is passed to processes the
923       manager spawns. The names of the variables can contain ASCII letters,
924       digits, and the underscore character. Variable names cannot be empty or
925       start with a digit. In variable values, most characters are allowed,
926       but the whole sequence must be valid UTF-8. (Note that control
927       characters like newline (NL), tab (TAB), or the escape character (ESC),
928       are valid ASCII and thus valid UTF-8). The total length of the
929       environment block is limited to _SC_ARG_MAX value defined by
930       sysconf(3).
931
932       show-environment
933           Dump the systemd manager environment block. This is the environment
934           block that is passed to all processes the manager spawns. The
935           environment block will be dumped in straightforward form suitable
936           for sourcing into most shells. If no special characters or
937           whitespace is present in the variable values, no escaping is
938           performed, and the assignments have the form "VARIABLE=value". If
939           whitespace or characters which have special meaning to the shell
940           are present, dollar-single-quote escaping is used, and assignments
941           have the form "VARIABLE=$'value'". This syntax is known to be
942           supported by bash(1), zsh(1), ksh(1), and busybox(1)'s ash(1), but
943           not dash(1) or fish(1).
944
945       set-environment VARIABLE=VALUE...
946           Set one or more systemd manager environment variables, as specified
947           on the command line. This command will fail if variable names and
948           values do not conform to the rules listed above.
949
950       unset-environment VARIABLE...
951           Unset one or more systemd manager environment variables. If only a
952           variable name is specified, it will be removed regardless of its
953           value. If a variable and a value are specified, the variable is
954           only removed if it has the specified value.
955
956       import-environment VARIABLE...
957           Import all, one or more environment variables set on the client
958           into the systemd manager environment block. If a list of
959           environment variable names is passed, client-side values are then
960           imported into the manager's environment block. If any names are not
961           valid environment variable names or have invalid values according
962           to the rules described above, an error is raised. If no arguments
963           are passed, the entire environment block inherited by the systemctl
964           process is imported. In this mode, any inherited invalid
965           environment variables are quietly ignored.
966
967           Importing of the full inherited environment block (calling this
968           command without any arguments) is deprecated. A shell will set
969           dozens of variables which only make sense locally and are only
970           meant for processes which are descendants of the shell. Such
971           variables in the global environment block are confusing to other
972           processes.
973
974   Manager State Commands
975       daemon-reload
976           Reload the systemd manager configuration. This will rerun all
977           generators (see systemd.generator(7)), reload all unit files, and
978           recreate the entire dependency tree. While the daemon is being
979           reloaded, all sockets systemd listens on behalf of user
980           configuration will stay accessible.
981
982           This command should not be confused with the reload command.
983
984       daemon-reexec
985           Reexecute the systemd manager. This will serialize the manager
986           state, reexecute the process and deserialize the state again. This
987           command is of little use except for debugging and package upgrades.
988           Sometimes, it might be helpful as a heavy-weight daemon-reload.
989           While the daemon is being reexecuted, all sockets systemd listening
990           on behalf of user configuration will stay accessible.
991
992       log-level [LEVEL]
993           If no argument is given, print the current log level of the
994           manager. If an optional argument LEVEL is provided, then the
995           command changes the current log level of the manager to LEVEL
996           (accepts the same values as --log-level= described in systemd(1)).
997
998       log-target [TARGET]
999           If no argument is given, print the current log target of the
1000           manager. If an optional argument TARGET is provided, then the
1001           command changes the current log target of the manager to TARGET
1002           (accepts the same values as --log-target=, described in
1003           systemd(1)).
1004
1005       service-watchdogs [yes|no]
1006           If no argument is given, print the current state of service runtime
1007           watchdogs of the manager. If an optional boolean argument is
1008           provided, then globally enables or disables the service runtime
1009           watchdogs (WatchdogSec=) and emergency actions (e.g.  OnFailure= or
1010           StartLimitAction=); see systemd.service(5). The hardware watchdog
1011           is not affected by this setting.
1012
1013   System Commands
1014       is-system-running
1015           Checks whether the system is operational. This returns success
1016           (exit code 0) when the system is fully up and running, specifically
1017           not in startup, shutdown or maintenance mode, and with no failed
1018           services. Failure is returned otherwise (exit code non-zero). In
1019           addition, the current state is printed in a short string to
1020           standard output, see the table below. Use --quiet to suppress this
1021           output.
1022
1023           Use --wait to wait until the boot process is completed before
1024           printing the current state and returning the appropriate error
1025           status. If --wait is in use, states initializing or starting will
1026           not be reported, instead the command will block until a later state
1027           (such as running or degraded) is reached.
1028
1029           Table 2. is-system-running output
1030           ┌─────────────┬─────────────────────┬───────────┐
1031Name         Description         Exit Code 
1032           ├─────────────┼─────────────────────┼───────────┤
1033initializing │ Early bootup,       │ > 0       │
1034           │             │ before basic.target │           │
1035           │             │ is reached or the   │           │
1036           │             │ maintenance state   │           │
1037           │             │ entered.            │           │
1038           ├─────────────┼─────────────────────┼───────────┤
1039starting     │ Late bootup, before │ > 0       │
1040           │             │ the job queue       │           │
1041           │             │ becomes idle for    │           │
1042           │             │ the first time, or  │           │
1043           │             │ one of the rescue   │           │
1044           │             │ targets are         │           │
1045           │             │ reached.            │           │
1046           ├─────────────┼─────────────────────┼───────────┤
1047running      │ The system is fully │ 0         │
1048           │             │ operational.        │           │
1049           ├─────────────┼─────────────────────┼───────────┤
1050degraded     │ The system is       │ > 0       │
1051           │             │ operational but one │           │
1052           │             │ or more units       │           │
1053           │             │ failed.             │           │
1054           ├─────────────┼─────────────────────┼───────────┤
1055maintenance  │ The rescue or       │ > 0       │
1056           │             │ emergency target is │           │
1057           │             │ active.             │           │
1058           ├─────────────┼─────────────────────┼───────────┤
1059stopping     │ The manager is      │ > 0       │
1060           │             │ shutting down.      │           │
1061           ├─────────────┼─────────────────────┼───────────┤
1062offline      │ The manager is not  │ > 0       │
1063           │             │ running.            │           │
1064           │             │ Specifically, this  │           │
1065           │             │ is the operational  │           │
1066           │             │ state if an         │           │
1067           │             │ incompatible        │           │
1068           │             │ program is running  │           │
1069           │             │ as system manager   │           │
1070           │             │ (PID 1).            │           │
1071           ├─────────────┼─────────────────────┼───────────┤
1072unknown      │ The operational     │ > 0       │
1073           │             │ state could not be  │           │
1074           │             │ determined, due to  │           │
1075           │             │ lack of resources   │           │
1076           │             │ or another error    │           │
1077           │             │ cause.              │           │
1078           └─────────────┴─────────────────────┴───────────┘
1079
1080       default
1081           Enter default mode. This is equivalent to systemctl isolate
1082           default.target. This operation is blocking by default, use
1083           --no-block to request asynchronous behavior.
1084
1085       rescue
1086           Enter rescue mode. This is equivalent to systemctl isolate
1087           rescue.target. This operation is blocking by default, use
1088           --no-block to request asynchronous behavior.
1089
1090       emergency
1091           Enter emergency mode. This is equivalent to systemctl isolate
1092           emergency.target. This operation is blocking by default, use
1093           --no-block to request asynchronous behavior.
1094
1095       halt
1096           Shut down and halt the system. This is mostly equivalent to
1097           systemctl start halt.target --job-mode=replace-irreversibly
1098           --no-block, but also prints a wall message to all users. This
1099           command is asynchronous; it will return after the halt operation is
1100           enqueued, without waiting for it to complete. Note that this
1101           operation will simply halt the OS kernel after shutting down,
1102           leaving the hardware powered on. Use systemctl poweroff for
1103           powering off the system (see below).
1104
1105           If combined with --force, shutdown of all running services is
1106           skipped, however all processes are killed and all file systems are
1107           unmounted or mounted read-only, immediately followed by the system
1108           halt. If --force is specified twice, the operation is immediately
1109           executed without terminating any processes or unmounting any file
1110           systems. This may result in data loss. Note that when --force is
1111           specified twice the halt operation is executed by systemctl itself,
1112           and the system manager is not contacted. This means the command
1113           should succeed even when the system manager has crashed.
1114
1115       poweroff
1116           Shut down and power-off the system. This is mostly equivalent to
1117           systemctl start poweroff.target --job-mode=replace-irreversibly
1118           --no-block, but also prints a wall message to all users. This
1119           command is asynchronous; it will return after the power-off
1120           operation is enqueued, without waiting for it to complete.
1121
1122           If combined with --force, shutdown of all running services is
1123           skipped, however all processes are killed and all file systems are
1124           unmounted or mounted read-only, immediately followed by the
1125           powering off. If --force is specified twice, the operation is
1126           immediately executed without terminating any processes or
1127           unmounting any file systems. This may result in data loss. Note
1128           that when --force is specified twice the power-off operation is
1129           executed by systemctl itself, and the system manager is not
1130           contacted. This means the command should succeed even when the
1131           system manager has crashed.
1132
1133       reboot
1134           Shut down and reboot the system.
1135
1136           This command mostly equivalent to systemctl start reboot.target
1137           --job-mode=replace-irreversibly --no-block, but also prints a wall
1138           message to all users. This command is asynchronous; it will return
1139           after the reboot operation is enqueued, without waiting for it to
1140           complete.
1141
1142           If combined with --force, shutdown of all running services is
1143           skipped, however all processes are killed and all file systems are
1144           unmounted or mounted read-only, immediately followed by the reboot.
1145           If --force is specified twice, the operation is immediately
1146           executed without terminating any processes or unmounting any file
1147           systems. This may result in data loss. Note that when --force is
1148           specified twice the reboot operation is executed by systemctl
1149           itself, and the system manager is not contacted. This means the
1150           command should succeed even when the system manager has crashed.
1151
1152           If the switch --reboot-argument= is given, it will be passed as the
1153           optional argument to the reboot(2) system call.
1154
1155           Options --boot-loader-entry=, --boot-loader-menu=, and
1156           --firmware-setup can be used to select what to do after the reboot.
1157           See the descriptions of those options for details.
1158
1159       kexec
1160           Shut down and reboot the system via kexec. This is equivalent to
1161           systemctl start kexec.target --job-mode=replace-irreversibly
1162           --no-block. This command is asynchronous; it will return after the
1163           reboot operation is enqueued, without waiting for it to complete.
1164
1165           If combined with --force, shutdown of all running services is
1166           skipped, however all processes are killed and all file systems are
1167           unmounted or mounted read-only, immediately followed by the reboot.
1168
1169       exit [EXIT_CODE]
1170           Ask the service manager to quit. This is only supported for user
1171           service managers (i.e. in conjunction with the --user option) or in
1172           containers and is equivalent to poweroff otherwise. This command is
1173           asynchronous; it will return after the exit operation is enqueued,
1174           without waiting for it to complete.
1175
1176           The service manager will exit with the specified exit code, if
1177           EXIT_CODE is passed.
1178
1179       switch-root ROOT [INIT]
1180           Switches to a different root directory and executes a new system
1181           manager process below it. This is intended for use in the initrd,
1182           and will transition from the initrd's system manager process
1183           (a.k.a. "init" process) to the main system manager process which is
1184           loaded from the actual host root files system. This call takes two
1185           arguments: the directory that is to become the new root directory,
1186           and the path to the new system manager binary below it to execute
1187           as PID 1. If the latter is omitted or the empty string, a systemd
1188           binary will automatically be searched for and used as init. If the
1189           system manager path is omitted, equal to the empty string or
1190           identical to the path to the systemd binary, the state of the
1191           initrd's system manager process is passed to the main system
1192           manager, which allows later introspection of the state of the
1193           services involved in the initrd boot phase.
1194
1195       suspend
1196           Suspend the system. This will trigger activation of the special
1197           target unit suspend.target. This command is asynchronous, and will
1198           return after the suspend operation is successfully enqueued. It
1199           will not wait for the suspend/resume cycle to complete.
1200
1201       hibernate
1202           Hibernate the system. This will trigger activation of the special
1203           target unit hibernate.target. This command is asynchronous, and
1204           will return after the hibernation operation is successfully
1205           enqueued. It will not wait for the hibernate/thaw cycle to
1206           complete.
1207
1208       hybrid-sleep
1209           Hibernate and suspend the system. This will trigger activation of
1210           the special target unit hybrid-sleep.target. This command is
1211           asynchronous, and will return after the hybrid sleep operation is
1212           successfully enqueued. It will not wait for the sleep/wake-up cycle
1213           to complete.
1214
1215       suspend-then-hibernate
1216           Suspend the system and hibernate it after the delay specified in
1217           systemd-sleep.conf. This will trigger activation of the special
1218           target unit suspend-then-hibernate.target. This command is
1219           asynchronous, and will return after the hybrid sleep operation is
1220           successfully enqueued. It will not wait for the sleep/wake-up or
1221           hibernate/thaw cycle to complete.
1222
1223   Parameter Syntax
1224       Unit commands listed above take either a single unit name (designated
1225       as UNIT), or multiple unit specifications (designated as PATTERN...).
1226       In the first case, the unit name with or without a suffix must be
1227       given. If the suffix is not specified (unit name is "abbreviated"),
1228       systemctl will append a suitable suffix, ".service" by default, and a
1229       type-specific suffix in case of commands which operate only on specific
1230       unit types. For example,
1231
1232           # systemctl start sshd
1233
1234       and
1235
1236           # systemctl start sshd.service
1237
1238       are equivalent, as are
1239
1240           # systemctl isolate default
1241
1242       and
1243
1244           # systemctl isolate default.target
1245
1246       Note that (absolute) paths to device nodes are automatically converted
1247       to device unit names, and other (absolute) paths to mount unit names.
1248
1249           # systemctl status /dev/sda
1250           # systemctl status /home
1251
1252       are equivalent to:
1253
1254           # systemctl status dev-sda.device
1255           # systemctl status home.mount
1256
1257       In the second case, shell-style globs will be matched against the
1258       primary names of all units currently in memory; literal unit names,
1259       with or without a suffix, will be treated as in the first case. This
1260       means that literal unit names always refer to exactly one unit, but
1261       globs may match zero units and this is not considered an error.
1262
1263       Glob patterns use fnmatch(3), so normal shell-style globbing rules are
1264       used, and "*", "?", "[]" may be used. See glob(7) for more details. The
1265       patterns are matched against the primary names of units currently in
1266       memory, and patterns which do not match anything are silently skipped.
1267       For example:
1268
1269           # systemctl stop sshd@*.service
1270
1271       will stop all sshd@.service instances. Note that alias names of units,
1272       and units that aren't in memory are not considered for glob expansion.
1273
1274       For unit file commands, the specified UNIT should be the name of the
1275       unit file (possibly abbreviated, see above), or the absolute path to
1276       the unit file:
1277
1278           # systemctl enable foo.service
1279
1280       or
1281
1282           # systemctl link /path/to/foo.service
1283
1284

OPTIONS

1286       The following options are understood:
1287
1288       -t, --type=
1289           The argument is a comma-separated list of unit types such as
1290           service and socket. When units are listed with list-units,
1291           list-dependencies, show, or status, only units of the specified
1292           types will be shown. By default, units of all types are shown.
1293
1294           As a special case, if one of the arguments is help, a list of
1295           allowed values will be printed and the program will exit.
1296
1297       --state=
1298           The argument is a comma-separated list of unit LOAD, SUB, or ACTIVE
1299           states. When listing units with list-units, list-dependencies, show
1300           or status, show only those in the specified states. Use
1301           --state=failed or --failed to show only failed units.
1302
1303           As a special case, if one of the arguments is help, a list of
1304           allowed values will be printed and the program will exit.
1305
1306       -p, --property=
1307           When showing unit/job/manager properties with the show command,
1308           limit display to properties specified in the argument. The argument
1309           should be a comma-separated list of property names, such as
1310           "MainPID". Unless specified, all known properties are shown. If
1311           specified more than once, all properties with the specified names
1312           are shown. Shell completion is implemented for property names.
1313
1314           For the manager itself, systemctl show will show all available
1315           properties, most of which are derived or closely match the options
1316           described in systemd-system.conf(5).
1317
1318           Properties for units vary by unit type, so showing any unit (even a
1319           non-existent one) is a way to list properties pertaining to this
1320           type. Similarly, showing any job will list properties pertaining to
1321           all jobs. Properties for units are documented in systemd.unit(5),
1322           and the pages for individual unit types systemd.service(5),
1323           systemd.socket(5), etc.
1324
1325       -P
1326           Equivalent to --value --property=, i.e. shows the value of the
1327           property without the property name or "=". Note that using -P once
1328           will also affect all properties listed with -p/--property=.
1329
1330       -a, --all
1331           When listing units with list-units, also show inactive units and
1332           units which are following other units. When showing
1333           unit/job/manager properties, show all properties regardless whether
1334           they are set or not.
1335
1336           To list all units installed in the file system, use the
1337           list-unit-files command instead.
1338
1339           When listing units with list-dependencies, recursively show
1340           dependencies of all dependent units (by default only dependencies
1341           of target units are shown).
1342
1343           When used with status, show journal messages in full, even if they
1344           include unprintable characters or are very long. By default, fields
1345           with unprintable characters are abbreviated as "blob data". (Note
1346           that the pager may escape unprintable characters again.)
1347
1348       -r, --recursive
1349           When listing units, also show units of local containers. Units of
1350           local containers will be prefixed with the container name,
1351           separated by a single colon character (":").
1352
1353       --reverse
1354           Show reverse dependencies between units with list-dependencies,
1355           i.e. follow dependencies of type WantedBy=, RequiredBy=, PartOf=,
1356           BoundBy=, instead of Wants= and similar.
1357
1358       --after
1359           With list-dependencies, show the units that are ordered before the
1360           specified unit. In other words, recursively list units following
1361           the After= dependency.
1362
1363           Note that any After= dependency is automatically mirrored to create
1364           a Before= dependency. Temporal dependencies may be specified
1365           explicitly, but are also created implicitly for units which are
1366           WantedBy= targets (see systemd.target(5)), and as a result of other
1367           directives (for example RequiresMountsFor=). Both explicitly and
1368           implicitly introduced dependencies are shown with
1369           list-dependencies.
1370
1371           When passed to the list-jobs command, for each printed job show
1372           which other jobs are waiting for it. May be combined with --before
1373           to show both the jobs waiting for each job as well as all jobs each
1374           job is waiting for.
1375
1376       --before
1377           With list-dependencies, show the units that are ordered after the
1378           specified unit. In other words, recursively list units following
1379           the Before= dependency.
1380
1381           When passed to the list-jobs command, for each printed job show
1382           which other jobs it is waiting for. May be combined with --after to
1383           show both the jobs waiting for each job as well as all jobs each
1384           job is waiting for.
1385
1386       --with-dependencies
1387           When used with status, cat, list-units, and list-unit-files, those
1388           commands print all specified units and the dependencies of those
1389           units.
1390
1391           Options --reverse, --after, --before may be used to change what
1392           types of dependencies are shown.
1393
1394       -l, --full
1395           Do not ellipsize unit names, process tree entries, journal output,
1396           or truncate unit descriptions in the output of status, list-units,
1397           list-jobs, and list-timers.
1398
1399           Also, show installation targets in the output of is-enabled.
1400
1401       --value
1402           When printing properties with show, only print the value, and skip
1403           the property name and "=". Also see option -P above.
1404
1405       --show-types
1406           When showing sockets, show the type of the socket.
1407
1408       --job-mode=
1409           When queuing a new job, this option controls how to deal with
1410           already queued jobs. It takes one of "fail", "replace",
1411           "replace-irreversibly", "isolate", "ignore-dependencies",
1412           "ignore-requirements", "flush", or "triggering". Defaults to
1413           "replace", except when the isolate command is used which implies
1414           the "isolate" job mode.
1415
1416           If "fail" is specified and a requested operation conflicts with a
1417           pending job (more specifically: causes an already pending start job
1418           to be reversed into a stop job or vice versa), cause the operation
1419           to fail.
1420
1421           If "replace" (the default) is specified, any conflicting pending
1422           job will be replaced, as necessary.
1423
1424           If "replace-irreversibly" is specified, operate like "replace", but
1425           also mark the new jobs as irreversible. This prevents future
1426           conflicting transactions from replacing these jobs (or even being
1427           enqueued while the irreversible jobs are still pending).
1428           Irreversible jobs can still be cancelled using the cancel command.
1429           This job mode should be used on any transaction which pulls in
1430           shutdown.target.
1431
1432           "isolate" is only valid for start operations and causes all other
1433           units to be stopped when the specified unit is started. This mode
1434           is always used when the isolate command is used.
1435
1436           "flush" will cause all queued jobs to be canceled when the new job
1437           is enqueued.
1438
1439           If "ignore-dependencies" is specified, then all unit dependencies
1440           are ignored for this new job and the operation is executed
1441           immediately. If passed, no required units of the unit passed will
1442           be pulled in, and no ordering dependencies will be honored. This is
1443           mostly a debugging and rescue tool for the administrator and should
1444           not be used by applications.
1445
1446           "ignore-requirements" is similar to "ignore-dependencies", but only
1447           causes the requirement dependencies to be ignored, the ordering
1448           dependencies will still be honored.
1449
1450           "triggering" may only be used with systemctl stop. In this mode,
1451           the specified unit and any active units that trigger it are
1452           stopped. See the discussion of Triggers= in systemd.unit(5) for
1453           more information about triggering units.
1454
1455       -T, --show-transaction
1456           When enqueuing a unit job (for example as effect of a systemctl
1457           start invocation or similar), show brief information about all jobs
1458           enqueued, covering both the requested job and any added because of
1459           unit dependencies. Note that the output will only include jobs
1460           immediately part of the transaction requested. It is possible that
1461           service start-up program code run as effect of the enqueued jobs
1462           might request further jobs to be pulled in. This means that
1463           completion of the listed jobs might ultimately entail more jobs
1464           than the listed ones.
1465
1466       --fail
1467           Shorthand for --job-mode=fail.
1468
1469           When used with the kill command, if no units were killed, the
1470           operation results in an error.
1471
1472       --check-inhibitors=
1473           When system shutdown or sleep state is requested, this option
1474           controls checking of inhibitor locks. It takes one of "auto", "yes"
1475           or "no". Defaults to "auto", which will behave like "yes" for
1476           interactive invocations (i.e. from a TTY) and "no" for
1477           non-interactive invocations.  "yes" lets the request respect
1478           inhibitor locks.  "no" lets the request ignore inhibitor locks.
1479
1480           Applications can establish inhibitor locks to prevent certain
1481           important operations (such as CD burning) from being interrupted by
1482           system shutdown or sleep. Any user may take these locks and
1483           privileged users may override these locks. If any locks are taken,
1484           shutdown and sleep state requests will normally fail (unless
1485           privileged). However, if "no" is specified or "auto" is specified
1486           on a non-interactive requests, the operation will be attempted. If
1487           locks are present, the operation may require additional privileges.
1488
1489           Option --force provides another way to override inhibitors.
1490
1491       -i
1492           Shortcut for --check-inhibitors=no.
1493
1494       --dry-run
1495           Just print what would be done. Currently supported by verbs halt,
1496           poweroff, reboot, kexec, suspend, hibernate, hybrid-sleep,
1497           suspend-then-hibernate, default, rescue, emergency, and exit.
1498
1499       -q, --quiet
1500           Suppress printing of the results of various commands and also the
1501           hints about truncated log lines. This does not suppress output of
1502           commands for which the printed output is the only result (like
1503           show). Errors are always printed.
1504
1505       --no-warn
1506           Don't generate the warnings shown by default in the following
1507           cases:
1508
1509           •   when systemctl is invoked without procfs mounted on /proc/,
1510
1511           •   when using enable or disable on units without install
1512               information (i.e. don't have or have an empty [Install]
1513               section).
1514
1515
1516       --no-block
1517           Do not synchronously wait for the requested operation to finish. If
1518           this is not specified, the job will be verified, enqueued and
1519           systemctl will wait until the unit's start-up is completed. By
1520           passing this argument, it is only verified and enqueued. This
1521           option may not be combined with --wait.
1522
1523       --wait
1524           Synchronously wait for started units to terminate again. This
1525           option may not be combined with --no-block. Note that this will
1526           wait forever if any given unit never terminates (by itself or by
1527           getting stopped explicitly); particularly services which use
1528           "RemainAfterExit=yes".
1529
1530           When used with is-system-running, wait until the boot process is
1531           completed before returning.
1532
1533       --user
1534           Talk to the service manager of the calling user, rather than the
1535           service manager of the system.
1536
1537       --system
1538           Talk to the service manager of the system. This is the implied
1539           default.
1540
1541       --failed
1542           List units in failed state. This is equivalent to --state=failed.
1543
1544       --no-wall
1545           Do not send wall message before halt, power-off and reboot.
1546
1547       --global
1548           When used with enable and disable, operate on the global user
1549           configuration directory, thus enabling or disabling a unit file
1550           globally for all future logins of all users.
1551
1552       --no-reload
1553           When used with enable and disable, do not implicitly reload daemon
1554           configuration after executing the changes.
1555
1556       --no-ask-password
1557           When used with start and related commands, disables asking for
1558           passwords. Background services may require input of a password or
1559           passphrase string, for example to unlock system hard disks or
1560           cryptographic certificates. Unless this option is specified and the
1561           command is invoked from a terminal, systemctl will query the user
1562           on the terminal for the necessary secrets. Use this option to
1563           switch this behavior off. In this case, the password must be
1564           supplied by some other means (for example graphical password
1565           agents) or the service might fail. This also disables querying the
1566           user for authentication for privileged operations.
1567
1568       --kill-whom=
1569           When used with kill, choose which processes to send a signal to.
1570           Must be one of main, control or all to select whether to kill only
1571           the main process, the control process or all processes of the unit.
1572           The main process of the unit is the one that defines the life-time
1573           of it. A control process of a unit is one that is invoked by the
1574           manager to induce state changes of it. For example, all processes
1575           started due to the ExecStartPre=, ExecStop= or ExecReload= settings
1576           of service units are control processes. Note that there is only one
1577           control process per unit at a time, as only one state change is
1578           executed at a time. For services of type Type=forking, the initial
1579           process started by the manager for ExecStart= is a control process,
1580           while the process ultimately forked off by that one is then
1581           considered the main process of the unit (if it can be determined).
1582           This is different for service units of other types, where the
1583           process forked off by the manager for ExecStart= is always the main
1584           process itself. A service unit consists of zero or one main
1585           process, zero or one control process plus any number of additional
1586           processes. Not all unit types manage processes of these types
1587           however. For example, for mount units, control processes are
1588           defined (which are the invocations of /usr/bin/mount and
1589           /usr/bin/umount), but no main process is defined. If omitted,
1590           defaults to all.
1591
1592       -s, --signal=
1593           When used with kill, choose which signal to send to selected
1594           processes. Must be one of the well-known signal specifiers such as
1595           SIGTERM, SIGINT or SIGSTOP. If omitted, defaults to SIGTERM.
1596
1597           The special value "help" will list the known values and the program
1598           will exit immediately, and the special value "list" will list known
1599           values along with the numerical signal numbers and the program will
1600           exit immediately.
1601
1602       --what=
1603           Select what type of per-unit resources to remove when the clean
1604           command is invoked, see below. Takes one of configuration, state,
1605           cache, logs, runtime to select the type of resource. This option
1606           may be specified more than once, in which case all specified
1607           resource types are removed. Also accepts the special value all as a
1608           shortcut for specifying all five resource types. If this option is
1609           not specified defaults to the combination of cache and runtime,
1610           i.e. the two kinds of resources that are generally considered to be
1611           redundant and can be reconstructed on next invocation.
1612
1613       -f, --force
1614           When used with enable, overwrite any existing conflicting symlinks.
1615
1616           When used with edit, create all of the specified units which do not
1617           already exist.
1618
1619           When used with halt, poweroff, reboot or kexec, execute the
1620           selected operation without shutting down all units. However, all
1621           processes will be killed forcibly and all file systems are
1622           unmounted or remounted read-only. This is hence a drastic but
1623           relatively safe option to request an immediate reboot. If --force
1624           is specified twice for these operations (with the exception of
1625           kexec), they will be executed immediately, without terminating any
1626           processes or unmounting any file systems. Warning: specifying
1627           --force twice with any of these operations might result in data
1628           loss. Note that when --force is specified twice the selected
1629           operation is executed by systemctl itself, and the system manager
1630           is not contacted. This means the command should succeed even when
1631           the system manager has crashed.
1632
1633       --message=
1634           When used with halt, poweroff or reboot, set a short message
1635           explaining the reason for the operation. The message will be logged
1636           together with the default shutdown message.
1637
1638       --now
1639           When used with enable, the units will also be started. When used
1640           with disable or mask, the units will also be stopped. The start or
1641           stop operation is only carried out when the respective enable or
1642           disable operation has been successful.
1643
1644       --root=
1645           When used with enable/disable/is-enabled (and related commands),
1646           use the specified root path when looking for unit files. If this
1647           option is present, systemctl will operate on the file system
1648           directly, instead of communicating with the systemd daemon to carry
1649           out changes.
1650
1651       --image=image
1652           Takes a path to a disk image file or block device node. If
1653           specified, all operations are applied to file system in the
1654           indicated disk image. This option is similar to --root=, but
1655           operates on file systems stored in disk images or block devices.
1656           The disk image should either contain just a file system or a set of
1657           file systems within a GPT partition table, following the
1658           Discoverable Partitions Specification[1]. For further information
1659           on supported disk images, see systemd-nspawn(1)'s switch of the
1660           same name.
1661
1662       --runtime
1663           When used with enable, disable, edit, (and related commands), make
1664           changes only temporarily, so that they are lost on the next reboot.
1665           This will have the effect that changes are not made in
1666           subdirectories of /etc/ but in /run/, with identical immediate
1667           effects, however, since the latter is lost on reboot, the changes
1668           are lost too.
1669
1670           Similarly, when used with set-property, make changes only
1671           temporarily, so that they are lost on the next reboot.
1672
1673       --preset-mode=
1674           Takes one of "full" (the default), "enable-only", "disable-only".
1675           When used with the preset or preset-all commands, controls whether
1676           units shall be disabled and enabled according to the preset rules,
1677           or only enabled, or only disabled.
1678
1679       -n, --lines=
1680           When used with status, controls the number of journal lines to
1681           show, counting from the most recent ones. Takes a positive integer
1682           argument, or 0 to disable journal output. Defaults to 10.
1683
1684       -o, --output=
1685           When used with status, controls the formatting of the journal
1686           entries that are shown. For the available choices, see
1687           journalctl(1). Defaults to "short".
1688
1689       --firmware-setup
1690           When used with the reboot command, indicate to the system's
1691           firmware to reboot into the firmware setup interface. Note that
1692           this functionality is not available on all systems.
1693
1694       --boot-loader-menu=timeout
1695           When used with the reboot command, indicate to the system's boot
1696           loader to show the boot loader menu on the following boot. Takes a
1697           time value as parameter — indicating the menu timeout. Pass zero in
1698           order to disable the menu timeout. Note that not all boot loaders
1699           support this functionality.
1700
1701       --boot-loader-entry=ID
1702           When used with the reboot command, indicate to the system's boot
1703           loader to boot into a specific boot loader entry on the following
1704           boot. Takes a boot loader entry identifier as argument, or "help"
1705           in order to list available entries. Note that not all boot loaders
1706           support this functionality.
1707
1708       --reboot-argument=
1709           This switch is used with reboot. The value is architecture and
1710           firmware specific. As an example, "recovery" might be used to
1711           trigger system recovery, and "fota" might be used to trigger a
1712           “firmware over the air” update.
1713
1714       --plain
1715           When used with list-dependencies, list-units or list-machines, the
1716           output is printed as a list instead of a tree, and the bullet
1717           circles are omitted.
1718
1719       --timestamp=
1720           Change the format of printed timestamps. The following values may
1721           be used:
1722
1723           pretty (this is the default)
1724               "Day YYYY-MM-DD HH:MM:SS TZ"
1725
1726           unix
1727               "@seconds-since-the-epoch"
1728
1729           us, µs
1730               "Day YYYY-MM-DD HH:MM:SS.UUUUUU TZ"
1731
1732           utc
1733               "Day YYYY-MM-DD HH:MM:SS UTC"
1734
1735           us+utc, µs+utc
1736               "Day YYYY-MM-DD HH:MM:SS.UUUUUU UTC"
1737
1738       --mkdir
1739           When used with bind, creates the destination file or directory
1740           before applying the bind mount. Note that even though the name of
1741           this option suggests that it is suitable only for directories, this
1742           option also creates the destination file node to mount over if the
1743           object to mount is not a directory, but a regular file, device
1744           node, socket or FIFO.
1745
1746       --marked
1747           Only allowed with reload-or-restart. Enqueues restart jobs for all
1748           units that have the "needs-restart" mark, and reload jobs for units
1749           that have the "needs-reload" mark. When a unit marked for reload
1750           does not support reload, restart will be queued. Those properties
1751           can be set using set-property Markers=....
1752
1753           Unless --no-block is used, systemctl will wait for the queued jobs
1754           to finish.
1755
1756       --read-only
1757           When used with bind, creates a read-only bind mount.
1758
1759       --drop-in=
1760           When used with edit, use the given drop-in file name instead of
1761           override.conf.
1762
1763       -H, --host=
1764           Execute the operation remotely. Specify a hostname, or a username
1765           and hostname separated by "@", to connect to. The hostname may
1766           optionally be suffixed by a port ssh is listening on, separated by
1767           ":", and then a container name, separated by "/", which connects
1768           directly to a specific container on the specified host. This will
1769           use SSH to talk to the remote machine manager instance. Container
1770           names may be enumerated with machinectl -H HOST. Put IPv6 addresses
1771           in brackets.
1772
1773       -M, --machine=
1774           Execute operation on a local container. Specify a container name to
1775           connect to, optionally prefixed by a user name to connect as and a
1776           separating "@" character. If the special string ".host" is used in
1777           place of the container name, a connection to the local system is
1778           made (which is useful to connect to a specific user's user bus:
1779           "--user --machine=lennart@.host"). If the "@" syntax is not used,
1780           the connection is made as root user. If the "@" syntax is used
1781           either the left hand side or the right hand side may be omitted
1782           (but not both) in which case the local user name and ".host" are
1783           implied.
1784
1785       --no-pager
1786           Do not pipe output into a pager.
1787
1788       --legend=BOOL
1789           Enable or disable printing of the legend, i.e. column headers and
1790           the footer with hints. The legend is printed by default, unless
1791           disabled with --quiet or similar.
1792
1793       -h, --help
1794           Print a short help text and exit.
1795
1796       --version
1797           Print a short version string and exit.
1798

EXIT STATUS

1800       On success, 0 is returned, a non-zero failure code otherwise.
1801
1802       systemctl uses the return codes defined by LSB, as defined in LSB
1803       3.0.0[2].
1804
1805       Table 3. LSB return codes
1806       ┌──────┬─────────────────────┬─────────────────────┐
1807Value Description in LSB  Use in systemd      
1808       ├──────┼─────────────────────┼─────────────────────┤
18090     │ "program is running │ unit is active      │
1810       │      │ or service is OK"   │                     │
1811       ├──────┼─────────────────────┼─────────────────────┤
18121     │ "program is dead    │ unit not failed     │
1813       │      │ and /var/run pid    │ (used by is-failed) │
1814       │      │ file exists"        │                     │
1815       ├──────┼─────────────────────┼─────────────────────┤
18162     │ "program is dead    │ unused              │
1817       │      │ and /var/lock lock  │                     │
1818       │      │ file exists"        │                     │
1819       ├──────┼─────────────────────┼─────────────────────┤
18203     │ "program is not     │ unit is not active  │
1821       │      │ running"            │                     │
1822       ├──────┼─────────────────────┼─────────────────────┤
18234     │ "program or service │ no such unit        │
1824       │      │ status is unknown"  │                     │
1825       └──────┴─────────────────────┴─────────────────────┘
1826
1827       The mapping of LSB service states to systemd unit states is imperfect,
1828       so it is better to not rely on those return values but to look for
1829       specific unit states and substates instead.
1830

ENVIRONMENT

1832       $SYSTEMD_EDITOR
1833           Editor to use when editing units; overrides $EDITOR and $VISUAL. If
1834           neither $SYSTEMD_EDITOR nor $EDITOR nor $VISUAL are present or if
1835           it is set to an empty string or if their execution failed,
1836           systemctl will try to execute well known editors in this order:
1837           editor(1), nano(1), vim(1), vi(1).
1838
1839       $SYSTEMD_LOG_LEVEL
1840           The maximum log level of emitted messages (messages with a higher
1841           log level, i.e. less important ones, will be suppressed). Either
1842           one of (in order of decreasing importance) emerg, alert, crit, err,
1843           warning, notice, info, debug, or an integer in the range 0...7. See
1844           syslog(3) for more information.
1845
1846       $SYSTEMD_LOG_COLOR
1847           A boolean. If true, messages written to the tty will be colored
1848           according to priority.
1849
1850           This setting is only useful when messages are written directly to
1851           the terminal, because journalctl(1) and other tools that display
1852           logs will color messages based on the log level on their own.
1853
1854       $SYSTEMD_LOG_TIME
1855           A boolean. If true, console log messages will be prefixed with a
1856           timestamp.
1857
1858           This setting is only useful when messages are written directly to
1859           the terminal or a file, because journalctl(1) and other tools that
1860           display logs will attach timestamps based on the entry metadata on
1861           their own.
1862
1863       $SYSTEMD_LOG_LOCATION
1864           A boolean. If true, messages will be prefixed with a filename and
1865           line number in the source code where the message originates.
1866
1867           Note that the log location is often attached as metadata to journal
1868           entries anyway. Including it directly in the message text can
1869           nevertheless be convenient when debugging programs.
1870
1871       $SYSTEMD_LOG_TARGET
1872           The destination for log messages. One of console (log to the
1873           attached tty), console-prefixed (log to the attached tty but with
1874           prefixes encoding the log level and "facility", see syslog(3), kmsg
1875           (log to the kernel circular log buffer), journal (log to the
1876           journal), journal-or-kmsg (log to the journal if available, and to
1877           kmsg otherwise), auto (determine the appropriate log target
1878           automatically, the default), null (disable log output).
1879
1880       $SYSTEMD_PAGER
1881           Pager to use when --no-pager is not given; overrides $PAGER. If
1882           neither $SYSTEMD_PAGER nor $PAGER are set, a set of well-known
1883           pager implementations are tried in turn, including less(1) and
1884           more(1), until one is found. If no pager implementation is
1885           discovered no pager is invoked. Setting this environment variable
1886           to an empty string or the value "cat" is equivalent to passing
1887           --no-pager.
1888
1889           Note: if $SYSTEMD_PAGERSECURE is not set, $SYSTEMD_PAGER (as well
1890           as $PAGER) will be silently ignored.
1891
1892       $SYSTEMD_LESS
1893           Override the options passed to less (by default "FRSXMK").
1894
1895           Users might want to change two options in particular:
1896
1897           K
1898               This option instructs the pager to exit immediately when Ctrl+C
1899               is pressed. To allow less to handle Ctrl+C itself to switch
1900               back to the pager command prompt, unset this option.
1901
1902               If the value of $SYSTEMD_LESS does not include "K", and the
1903               pager that is invoked is less, Ctrl+C will be ignored by the
1904               executable, and needs to be handled by the pager.
1905
1906           X
1907               This option instructs the pager to not send termcap
1908               initialization and deinitialization strings to the terminal. It
1909               is set by default to allow command output to remain visible in
1910               the terminal even after the pager exits. Nevertheless, this
1911               prevents some pager functionality from working, in particular
1912               paged output cannot be scrolled with the mouse.
1913
1914           See less(1) for more discussion.
1915
1916       $SYSTEMD_LESSCHARSET
1917           Override the charset passed to less (by default "utf-8", if the
1918           invoking terminal is determined to be UTF-8 compatible).
1919
1920       $SYSTEMD_PAGERSECURE
1921           Takes a boolean argument. When true, the "secure" mode of the pager
1922           is enabled; if false, disabled. If $SYSTEMD_PAGERSECURE is not set
1923           at all, secure mode is enabled if the effective UID is not the same
1924           as the owner of the login session, see geteuid(2) and
1925           sd_pid_get_owner_uid(3). In secure mode, LESSSECURE=1 will be set
1926           when invoking the pager, and the pager shall disable commands that
1927           open or create new files or start new subprocesses. When
1928           $SYSTEMD_PAGERSECURE is not set at all, pagers which are not known
1929           to implement secure mode will not be used. (Currently only less(1)
1930           implements secure mode.)
1931
1932           Note: when commands are invoked with elevated privileges, for
1933           example under sudo(8) or pkexec(1), care must be taken to ensure
1934           that unintended interactive features are not enabled. "Secure" mode
1935           for the pager may be enabled automatically as describe above.
1936           Setting SYSTEMD_PAGERSECURE=0 or not removing it from the inherited
1937           environment allows the user to invoke arbitrary commands. Note that
1938           if the $SYSTEMD_PAGER or $PAGER variables are to be honoured,
1939           $SYSTEMD_PAGERSECURE must be set too. It might be reasonable to
1940           completely disable the pager using --no-pager instead.
1941
1942       $SYSTEMD_COLORS
1943           Takes a boolean argument. When true, systemd and related utilities
1944           will use colors in their output, otherwise the output will be
1945           monochrome. Additionally, the variable can take one of the
1946           following special values: "16", "256" to restrict the use of colors
1947           to the base 16 or 256 ANSI colors, respectively. This can be
1948           specified to override the automatic decision based on $TERM and
1949           what the console is connected to.
1950
1951       $SYSTEMD_URLIFY
1952           The value must be a boolean. Controls whether clickable links
1953           should be generated in the output for terminal emulators supporting
1954           this. This can be specified to override the decision that systemd
1955           makes based on $TERM and other conditions.
1956

SEE ALSO

1958       systemd(1), journalctl(1), loginctl(1), machinectl(1), systemd.unit(5),
1959       systemd.resource-control(5), systemd.special(7), wall(1),
1960       systemd.preset(5), systemd.generator(7), glob(7)
1961

NOTES

1963        1. Discoverable Partitions Specification
1964           https://uapi-group.org/specifications/specs/discoverable_partitions_specification
1965
1966        2. LSB 3.0.0
1967           http://refspecs.linuxbase.org/LSB_3.0.0/LSB-PDA/LSB-PDA/iniscrptact.html
1968
1969
1970
1971systemd 253                                                       SYSTEMCTL(1)
Impressum