:PROPERTIES: :ID: 80866258-4fd5-4ddc-b3e4-00fa3d3372d3 :END: #+title: Command line: systemctl #+date: 2021-07-27 13:47:34 +08:00 #+date_modified: 2021-07-27 14:06:35 +08:00 #+language: en #+property: header_args :eval no The go-to command to manage units in a systemd-ful system. For full details, you can view the =systemctl.1= manual page. * Synopsis #+begin_src shell systemctl [OPTIONS...] COMMAND [COMMAND_ARGS...] [COMMAND_OPTIONS...] #+end_src * Options - =--user= runs the binary in user mode with the user-specific options and load-path. See [[id:c7edff80-6dea-47fc-8ecd-e43b5ab8fb1e][systemd at user-level]] for more details. - =--help= is an obvious one. It prints a detailed help section of the command. * Subcommands - =enable UNIT= and =disable UNIT= enables and disables units. It mainly adds the unit activation at startup. + =--now= starts/stops the unit. It is the equivalent of =systemctl {enable,disable} UNIT && systemctl {start,stop} UNIT=. Pretty handy if you intend to add the unit at startup and want to use it now. - =start UNIT= and =stop UNIT= starts and stops the unit, respectively. Though, this doesn't activate - =restart UNIT= restarts the given unit. This also reloads with the modified changes of the unit. - In some cases where restarting the unit isn't enough, =daemon-reload= will reload the daemon with the modified units. systemd does not have reload-at-change for its unit. That is, if a unit is modified, systemd will not run the modified version until reloaded. - =show-environment= shows the environment variables of the system. - =list-units [PATTERN...]= is self-explanatory ;p. - =is-active PATTERN...= prints the status of the matched unit and exits successfully if it's active.