systemd
is only very rarely invoked directly, since it is started
early and is already running by the time users may interact with
it. Normally, tools like systemctl(1) are used to give commands
to the manager. Since systemd
is usually not invoked directly,
the options listed below are mostly useful for debugging and
special purposes.
Introspection and debugging options
Those options are used for testing and introspection, and systemd
may be invoked with them at any time:
--dump-configuration-items
Dump understood unit configuration items. This outputs a
terse but complete list of configuration items understood in
unit definition files.
--dump-bus-properties
Dump exposed bus properties. This outputs a terse but
complete list of properties exposed on D-Bus.
--test
Determine the initial start-up transaction (i.e. the list of
jobs enqueued at start-up), dump it and exit — without
actually executing any of the determined jobs. This option is
useful for debugging only. Note that during regular service
manager start-up additional units not shown by this operation
may be started, because hardware, socket, bus or other kinds
of activation might add additional jobs as the transaction is
executed. Use --system
to request the initial transaction of
the system service manager (this is also the implied
default), combine with --user
to request the initial
transaction of the per-user service manager instead.
--system
, --user
When used in conjunction with --test
, selects whether to
calculate the initial transaction for the system instance or
for a per-user instance. These options have no effect when
invoked without --test
, as during regular (i.e. non---test
)
invocations the service manager will automatically detect
whether it shall operate in system or per-user mode, by
checking whether the PID it is run as is 1 or not. Note that
it is not supported booting and maintaining a system with the
service manager running in --system
mode but with a PID other
than 1.
-h
, --help
Print a short help text and exit.
--version
Print a short version string and exit.
Options that duplicate kernel command line settings
Those options correspond directly to options listed above in
"Kernel Command Line". Both forms may be used equivalently for
the system manager, but it is recommended to use the forms listed
above in this context, because they are properly namespaced. When
an option is specified both on the kernel command line and as a
normal command line argument, the latter has higher precedence.
When systemd
is used as a user manager, the kernel command line
is ignored and only the options described below are understood.
Nevertheless, systemd
is usually started in this mode through the
user@.service(5) service, which is shared between all users. It
may be more convenient to use configuration files to modify
settings (see systemd-user.conf(5)), or environment variables.
See the "Environment" section above for a discussion of how the
environment block is set.
--unit=
Set default unit to activate on startup. If not specified,
defaults to default.target. See systemd.unit= above.
--dump-core
Enable core dumping on crash. This switch has no effect when
running as user instance. Same as systemd.dump_core= above.
--crash-vt=
VT
Switch to a specific virtual console (VT) on crash. This
switch has no effect when running as user instance. Same as
systemd.crash_chvt= above (but not the different spelling!).
--crash-shell
Run a shell on crash. This switch has no effect when running
as user instance. See systemd.crash_shell= above.
--crash-reboot
Automatically reboot the system on crash. This switch has no
effect when running as user instance. See
systemd.crash_reboot above.
--confirm-spawn
Ask for confirmation when spawning processes. This switch has
no effect when run as user instance. See
systemd.confirm_spawn above.
--show-status
Show terse unit status information on the console during
boot-up and shutdown. See systemd.show_status above.
--log-color
Highlight important log messages. See systemd.log_color
above.
--log-level=
Set log level. See systemd.log_level above.
--log-location
Include code location in log messages. See
systemd.log_location above.
--log-target=
Set log target. See systemd.log_target above.
--log-time=
Prefix console messages with timestamp. See systemd.log_time
above.
--machine-id=
Override the machine-id set on the hard drive. See
systemd.machine_id= above.
--service-watchdogs
Globally enable/disable all service watchdog timeouts and
emergency actions. See systemd.service_watchdogs above.
--default-standard-output=
, --default-standard-error=
Sets the default output or error output for all services and
sockets, respectively. See systemd.default_standard_output=
and systemd.default_standard_error= above.