Man page - systemctl(1)
Packages contas this manual
- systemd-ask-password-wall.path(8)
- journald@.conf(5)
- systemd-rfkill.service(8)
- systemd-pcrlock-secureboot-authority.service(8)
- org.freedesktop.locale1(5)
- systemd-journald-audit.socket(8)
- bootup(7)
- systemd-hostnamed(8)
- system.conf.d(5)
- os-release(5)
- systemd.exec(5)
- networkd.conf(5)
- systemd-hibernate-resume-generator(8)
- systemd-timedated.service(8)
- networkctl(1)
- systemd-fsck@.service(8)
- systemd-tmpfiles(8)
- systemd-inhibit(1)
- systemd.net-naming-scheme(7)
- systemd-tmpfiles-clean.timer(8)
- systemd-ssh-proxy(1)
- systemd-user-sessions(8)
- logind.conf(5)
- org.freedesktop.network1(5)
- systemd-networkd-wait-online.service(8)
- systemd.kill(5)
- systemd.time(7)
- systemd-ask-password(1)
- systemd.journal-fields(7)
- systemd-socket-proxyd(8)
- pstore.conf.d(5)
- systemd-networkd.service(8)
- systemd-pcrlock-firmware-code.service(8)
- systemd-storagetm.service(8)
- systemd-growfs-root.service(8)
- systemd-ask-password-wall.service(8)
- systemd-creds(1)
- systemd-remount-fs.service(8)
- journald.conf(5)
- systemd-confext.service(8)
- systemd-tty-ask-password-agent(1)
- systemd-binfmt(8)
- systemd-pcrlock-make-policy.service(8)
- systemd-timedated(8)
- systemd-journald.service(8)
- systemd-pcrlock-file-system.service(8)
- pam_systemd_loadkey(8)
- systemd-gpt-auto-generator(8)
- daemon(7)
- systemd-tpm2-setup(8)
- hostnamectl(1)
- systemd-sleep(8)
- systemd-pcrmachine.service(8)
- systemd-bsod.service(8)
- systemd.unit(5)
- systemd-sysctl.service(8)
- systemd-pstore(8)
- binfmt.d(5)
- systemd-network-generator(8)
- systemd-poweroff.service(8)
- systemd-umount(1)
- systemd-tpm2-generator(8)
- systemd-rfkill.socket(8)
- systemd-localed.service(8)
- systemd.path(5)
- systemd-cgls(1)
- journald.conf.d(5)
- systemd-journald@.service(8)
- systemd-sysusers.service(8)
- systemd-user.conf(5)
- systemd-pcrfs@.service(8)
- systemd-measure(1)
- systemd.offline-updates(7)
- systemd-logind(8)
- systemd-machine-id-setup(1)
- systemd-volatile-root.service(8)
- systemd.service(5)
- user@.service(5)
- systemd.target(5)
- systemd-udev-settle.service(8)
- systemd-fsck(8)
- systemd-fsck-usr.service(8)
- user-runtime-dir@.service(5)
- systemd-user-runtime-dir(5)
- systemd-binfmt.service(8)
- systemd-initctl.socket(8)
- systemd-fsck-root.service(8)
- systemd-debug-generator(8)
- file-hierarchy(7)
- systemd-networkd-wait-online(8)
- systemd-volatile-root(8)
- systemd-reboot.service(8)
- systemd-hostnamed.service(8)
- networkd.conf.d(5)
- initrd-release(5)
- systemd.index(7)
- systemd-shutdown(8)
- systemd-update-done.service(8)
- systemd-system-update-generator(8)
- localectl(1)
- systemd.v(7)
- systemd-pcrfs-root.service(8)
- systemd.image-policy(7)
- systemd-backlight@.service(8)
- systemd-battery-check(8)
- systemd-rc-local-generator(8)
- systemd-sysctl(8)
- systemd-kexec.service(8)
- extension-release(5)
- systemd-journald.socket(8)
- systemd-random-seed.service(8)
- systemd-tmpfiles-setup-dev-early.service(8)
- systemd-modules-load(8)
- systemd.network(5)
- systemd-getty-generator(8)
- systemd-storagetm(8)
- systemd.generator(7)
- systemd.special(7)
- systemd-tmpfiles-setup-dev.service(8)
- systemd-notify(1)
- systemd-suspend.service(8)
- localtime(5)
- systemd-journald-varlink@.socket(8)
- systemd-pcrphase.service(8)
- systemd-quotacheck.service(8)
- systemd-pcrlock-firmware-config.service(8)
- systemd-journald@.socket(8)
- systemd-halt.service(8)
- systemd-sysext.service(8)
- systemd-delta(1)
- 30-systemd-environment-d-generator(8)
- systemd-ask-password-console.service(8)
- systemd-confext(8)
- systemd-initctl.service(8)
- iocost.conf(5)
- systemd-logind.service(8)
- systemd-mkswap@.service(8)
- hostname(5)
- busctl(1)
- org.freedesktop.portable1(5)
- systemd-localed(8)
- systemd-id128(1)
- systemd-sleep.conf(5)
- systemd.environment-generator(7)
- systemd-growfs(8)
- systemd(1)
- systemd.device(5)
- systemd-firstboot(1)
- systemd-hibernate-clear.service(8)
- systemd.swap(5)
- tmpfiles.d(5)
- systemd-cat(1)
- systemd-random-seed(8)
- locale.conf(5)
- systemd-detect-virt(1)
- systemd-sysext(8)
- systemd.scope(5)
- systemd-growfs@.service(8)
- systemd-fstab-generator(8)
- systemd-escape(1)
- systemd-network-generator.service(8)
- systemd-tmpfiles-setup.service(8)
- systemd-tmpfiles-clean.service(8)
- sleep.conf.d(5)
- systemd-boot-check-no-failures(8)
- org.freedesktop.systemd1(5)
- systemd-suspend-then-hibernate.service(8)
- run0(1)
- systemd-mount(1)
- systemd.slice(5)
- systemd-user-sessions.service(8)
- systemd-makefs@.service(8)
- journalctl(1)
- systemd-makefs(8)
- systemd-stdio-bridge(1)
- systemd-ssh-generator(8)
- systemd-update-done(8)
- systemd-xdg-autostart-generator(8)
- systemd-soft-reboot.service(8)
- systemctl(1)
- org.freedesktop.machine1(5)
- systemd.timer(5)
- systemd-journald(8)
- systemd-bsod(8)
- systemd-tpm2-setup-early.service(8)
- systemd-hybrid-sleep.service(8)
- systemd-analyze(1)
- smbios-type-11(7)
- systemd-environment-d-generator(8)
- systemd-networkd-wait-online@.service(8)
- org.freedesktop.login1(5)
- systemd-rfkill(8)
- timedatectl(1)
- systemd-hibernate-resume(8)
- systemd-sysv-generator(8)
- kernel-install(8)
- systemd-sysusers(8)
- systemd.netdev(5)
- systemd-journald-dev-log.socket(8)
- systemd-vpick(1)
- machine-id(5)
- systemd-pcrphase-initrd.service(8)
- systemd.mount(5)
- systemd-remount-fs(8)
- systemd.socket(5)
- sysusers.d(5)
- systemd.directives(7)
- rc-local.service(8)
- systemd-run-generator(8)
- systemd-battery-check.service(8)
- systemd-pstore.service(8)
- capsule@.service(5)
- logind.conf.d(5)
- systemd-pcrlock-secureboot-policy.service(8)
- environment.d(5)
- systemd-pcrphase-sysinit.service(8)
- org.freedesktop.hostname1(5)
- modules-load.d(5)
- systemd.automount(5)
- systemd-firstboot.service(1)
- systemd-boot-check-no-failures.service(8)
- loginctl(1)
- systemd.syntax(7)
- systemd-initctl(8)
- kernel-command-line(7)
- systemd.preset(5)
- systemd-pcrlock-machine-id.service(8)
- systemd-run(1)
- systemd-system.conf(5)
- systemd-machine-id-commit.service(8)
- user.conf.d(5)
- systemd.system-credentials(7)
- pstore.conf(5)
- systemd-cgtop(1)
- sysctl.d(5)
- systemd-tpm2-setup.service(8)
- systemd-pcrextend(8)
- systemd-modules-load.service(8)
- systemd.pcrlock.d(5)
- systemd-networkd(8)
- systemd-socket-activate(1)
- systemd-path(1)
- systemd-backlight(8)
- org.freedesktop.timedate1(5)
- systemd-quotacheck(8)
- systemd.resource-control(5)
- systemd-ask-password-console.path(8)
- varlinkctl(1)
- systemd-ac-power(1)
- systemd-hibernate-resume.service(8)
- systemd.pcrlock(5)
- machine-info(5)
- systemd-hibernate.service(8)
- systemd-pcrlock(8)
apt-get install systemd
Available languages:
en fr uk zh_TW zh_CN deManual
| SYSTEMCTL(1) | systemctl | SYSTEMCTL(1) |
NAME
systemctl - 控制 systemd 系统与服务管理器
SYNOPSIS
systemctl [OPTIONS...] COMMAND [NAME...]
描述
systemctl 可用于检查和控制 systemd(1) 系统与服务管理器的状态。
选项
能够识别的命令行选项如下:
-t, --type=
在列出单元时,如果使用了此选项, 那么表示只列出指定类型的单元, 否则将列出所有类型的单元。
此外,作为特例,使用 --type=help 表示在列出所有可用的单元类型之后退出。
--state=
此外,作为特例,使用 --state=help 表示在列出所有可用的单元状态之后退出。
-p, --property=
不带参数的 systemctl show 命令 将会显示管理器(systemd)自身的属性(参见 systemd-system.conf(5) 手册)。
不同类型的单元拥有不同的属性集, 指定任意一个单元(即使并不存在),都可以查看此类单元的所有属性。 类似的,即使指定了一个不存在的任务(job),也能查看任务的所有属性。 每种单元能够拥有的属性集分散在 systemd.unit(5) 手册 以及此类单元专属的手册中,例如 systemd.service(5), systemd.socket(5) 等等。
-a, --all
如果想要列出所有已安装的单元,请使用 list-unit-files 命令。
-r, --recursive
--reverse
--after
注意,每个 After= 依赖都会自动生成一个对应的 Before= 依赖。 单元之间的先后顺序既可以被显式的明确设定, 也可以由其他指令隐式的自动生成(例如 WantedBy= 或 RequiresMountsFor=)。 无论是隐式自动生成的先后顺序, 还是显式明确设定的先后顺序, 都会被 list-dependencies 命令显示出来。
--before
-l, --full
--value
--show-types
--job-mode=
"fail" 表示当新任务与队列中已有的任务冲突时,该命令将失败。 所谓"冲突"的含义是:导致队列中已有的某个启动操作转变为停止操作,或者相反。
"replace" 表示将队列中冲突的任务替换为新任务。
"replace-irreversibly" 与 "replace" 类似, 不同之处在于将新任务同时标记为"不可撤销", 也就是即使未来与其他新添加的任务发生冲突也不会被撤消。 注意,这个"不可撤销"的任务, 仍然可以使用 cancel 命令显式的撤消。
"isolate" 仅用于启动操作,表示在该单元启动之后,所有其他单元都会被停止。 当使用 isolate 命令的时候, 这是默认值,且不能更改。
"flush" 表示撤消队列中已有的全部任务,然后加入新任务。
"ignore-dependencies" 表示忽略新任务的所有依赖关系(包括先后顺序依赖), 立即执行请求的操作。 如果成功, 那么所有被依赖的单元及先后顺序都将被忽略。 仅用于调试目的,切勿用于常规目的。
"ignore-requirements" 类似于 "ignore-dependencies" , 表示仅忽略必需的依赖(但依然遵守单元之间的先后顺序)。
--fail
当与 kill 命令一起使用时, 表示如果没有任何单元被杀死,那么将会导致报错。
-i, --ignore-inhibitors
-q, --quiet
--no-block
--user
--system
--no-wall
--global
--no-reload
--no-ask-password
--kill-who=
-s, --signal=
。
.RE
-f, --force
当与 edit 命令连用时, 表示创建所有尚不存在的指定单元。
当与 halt, poweroff, reboot, kexec 命令连用时,表示跳过单元的正常停止步骤,强制直接执行关机操作。 如果仅使用此选项一次,那么所有进程都将被强制杀死,并且所有文件系统都将被卸载(或以只读模式重新挂载)。 这可以算是一种野蛮但还算相对比较安全的快速关机或重启的方法。 如果连续两次使用此选项,那么将既不杀死进程,也不卸载文件系统, 而是直接强制关机或重启(但 kexec 除外)。 警告:连续两次使用 --force 选项将会导致数据丢失、文件系统不一致等不良后果。 注意,如果连续两次使用 --force 选项,那么所有操作都将由 systemctl 自己直接执行,而不会与 systemd 进程通信。 这意味着,即使 systemd 进程已经僵死或者崩溃,连续两次使用 --force 选项所指定的操作依然能够执行成功。
--message=
--now
--root=
--runtime
类似的,当与 set-property 命令连用时, 所做的变更亦是临时的, 这些变更在重启后亦会丢失。
--preset-mode=
-n, --lines=
-o, --output=
。
.RE
--firmware-setup
--plain
-H, --host=
-M, --machine=
--no-pager
--no-legend
-h, --help
--version
命令
模式(PATTERN)参数的语法与文件名匹配语法类似:用"*"匹配任意数量的字符,用"?"匹配单个字符,用"[]"匹配字符范围。 如果给出了模式(PATTERN)参数,那么表示该命令仅作用于单元名称与至少一个模式相匹配的单元。
单元命令
list-units [PATTERN...]
这是默认命令。
list-sockets [PATTERN...]
LISTEN UNIT ACTIVATES /dev/initctl systemd-initctl.socket systemd-initctl.service ... [::]:22 sshd.socket sshd.service kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service 5 sockets listed.
注意:因为监听地址中有可能包含空格, 所以不适合使用程序分析该命令的输出。
参见 --show-types, --all, --state= 选项。
list-timers [PATTERN...]
参见 --all 与 --state= 选项。
start PATTERN...
如果某个单元未被启动,又没有处于失败(failed)状态, 那么通常是因为该单元没有被加载,所以根本没有被模式匹配到。 此外,对于从模板实例化而来的单元,因为 systemd 会在其尚未启动前忽略它们, 又因为模式(PATTERN)参数仅能匹配已加载单元的"主名称"(不含单元的"别名"), 所以,在这个命令中使用包含通配符的模式并没有多少实际意义。
stop PATTERN...
reload PATTERN...
不要将此命令与 daemon-reload 命令混淆。
restart PATTERN...
try-restart PATTERN...
reload-or-restart PATTERN...
try-reload-or-restart PATTERN...
isolate NAME
这类似于传统上切换SysV运行级的概念。 该命令会立即停止所有在新目标单元中不需要的进程, 这其中可能包括当前正在运行的图形环境以及正在使用的终端。
注意,该命令仅可用于 AllowIsolate=yes 的单元。参见 systemd.unit(5) 手册。
kill PATTERN...
is-active PATTERN...
is-failed PATTERN...
status [PATTERN...|PID...]
此命令用于输出人类易读的结果,不要将其用于程序分析(应该使用 show 命令)。 除非使用了 --lines 与 --full 选项, 否则默认只输出10行日志, 并且超长的部分会被省略号截断。此外, journalctl --unit=NAME 或 journalctl --user-unit=NAME 也会对超长的消息使用类似的省略号截断。
show [PATTERN...|JOB...]
cat PATTERN...
set-property NAME ASSIGNMENT...
例如: systemctl set-property foobar.service CPUShares=777
注意,此命令可以同时修改多个属性值, 只需依次将各个属性用空格分隔即可。
与单元文件中的规则相同, 设为空表示清空当前已存在的列表。
help PATTERN...|PID...
reset-failed [PATTERN...]
list-dependencies [NAME]
默认情况下,仅以递归方式显示 target 单元的依赖关系树,而对于其他类型的单元,仅显示一层依赖关系(不递归)。 但如果使用了 --all 选项, 那么将对所有类型的单元都强制递归的显示完整的依赖关系树。
还可以使用 --reverse, --after, --before 选项指定仅显示特定类型的依赖关系。
单元文件命令
list-unit-files [PATTERN...]
enable NAME..., enable PATH...
如果此命令的参数是一个有效的单元名称(NAME),那么将自动搜索所有单元目录。 如果此命令的参数是一个单元文件的绝对路径(PATH),那么将直接使用指定的单元文件。 如果参数是一个位于标准单元目录之外的单元文件, 那么将会在标准单元目录中额外创建一个指向此单元文件的软连接, 以确保该单元文件能够被 start 之类的命令找到。
除非使用了 --quiet 选项, 否则此命令还会显示对文件系统所执行的操作(Created symlink ...)。
此命令是维护 .{wants,requires}/ 目录与单元别名的首选方法。 注意,此命令仅会按照单元文件中 "[Install]" 小节预设的名称创建软链接。 另一方面,系统管理员亦可手动创建所需的软链接, 特别是在需要创建不同于默认软链接名称的时候。 不过需要注意的是,系统管理员必须在创建完软连接之后手动执行 daemon-reload 命令, 以确保所做的变更立即生效。
不要将此命令与 start 命令混淆,它们是相互独立的命令: 可以启动一个尚未启用的单元,也可以启用一个尚未启动的单元。 enable 命令只是设置了单元的启动钩子(通过创建软链接), 例如在系统启动时或者某个硬件插入时,自动启动某个单元。 而 start 命令则是具体执行单元的启动操作, 例如对于服务单元来说就是启动守护进程,而对于套接字单元来说则是绑定套接字,等等。
若与 --user 选项连用,则表示变更仅作用于用户实例,否则默认作用于系统实例(相当于使用 --system 选项)。 若与 --runtime 选项连用,则表示仅作临时性变更(重启后所有变更都将丢失),否则默认为永久性变更。 若与 --global 选项连用,则表示变更作用于所有用户(在全局用户单元目录上操作),否则默认仅作用于当前用户(在私有用户单元目录上操作)。 注意,当与 --runtime 选项连用时,systemd 守护进程不会重新加载自身的配置。
不可将此命令应用于已被 mask 命令屏蔽的单元,否则将会导致错误。
disable NAME...
此命令的参数仅能接受单元的名字,而不能接受单元文件的路径。
除了停用参数中明确指定的单元之外,那些在被停用单元 "[Install]" 小节的 Also= 选项中列出的所有单元,也同样会被停用。 也就是说,这个停用动作是沿着 Also= 选项不断传递的。
删除完软连接之后, systemd 将会自动重新加载自身的配置(相当于执行 daemon-reload 命令),以确保所做的变更立即生效。 注意,除非同时使用了 --now 选项(相当于同时执行 stop 命令), 否则停用一个单元并不会导致该单元被停止。
除非使用了 --quiet 选项, 否则此命令还会显示对文件系统所执行的操作(Removed symlink ...)。
有关 --system, --user, --runtime, --global 选项的影响,参见上面对 enable 命令的解释。
reenable NAME...
preset NAME...
可以使用 --preset-mode= 选项控制如何参照预设文件: 既启用又停用、仅启用、仅停用
如果指定单元的 "[Install]" 小节不包含必要的启用信息, 那么此命令将会悄无声息的忽略该单元。
有关预设文件的更多说明,详见 systemd.preset(5) 手册与 Preset[1] 文档。
preset-all
可以使用 --preset-mode= 选项控制如何参照预设文件: 既启用又停用、仅启用、仅停用
is-enabled NAME...
Table 1. is-enabled 命令的输出
| 状态 | 含义 | 返回值 |
| "enabled" | 已经通过 /etc/systemd/system/*.{wants,requires}/ 目录下的软连接被永久启用 | 0 |
| "enabled-runtime" | 已经通过 /run/systemd/system/*.{wants,requires}/ 目录下的软连接被临时启用 | 0 |
| "linked" | 虽然单元文件本身不在标准单元目录中,但是指向此单元文件的一个或多个软连接已经存在于 /etc/systemd/system/ 永久目录中 | > 0 |
| "linked-runtime" | 虽然单元文件本身不在标准单元目录中,但是指向此单元文件的一个或多个软连接已经存在于 /run/systemd/system/ 临时目录中 | > 0 |
| "masked" | 已经被 /etc/systemd/system/ 目录永久屏蔽(软连接指向 /dev/null 文件),因此 start 操作会失败 | > 0 |
| "masked-runtime" | 已经被 /run/systemd/systemd/ 目录临时屏蔽(软连接指向 /dev/null 文件),因此 start 操作会失败 | > 0 |
| "static" | 尚未被启用,并且单元文件的 "[Install]" 小节中没有可用于 enable 命令的选项 | 0 |
| "indirect" | 尚未被启用,但是单元文件的 "[Install]" 小节中 Also= 选项的值列表非空(也就是列表中的某些单元可能已被启用) | 0 |
| "disabled" | 尚未被启用,但是单元文件的 "[Install]" 小节中存在可用于 enable 命令的选项 | > 0 |
| "generated" | 单元文件是被单元生成器动态生成的(参见 systemd.generator(7) 手册)。被生成的单元文件可能并未被直接启用,而是被单元生成器隐含的启用了。 | 0 |
| "transient" | 单元文件是被运行时API动态临时生成的。该临时单元可能并未被启用。 | 0 |
| "bad" | 单元文件不正确或者出现其他错误。 is-enabled 不会返回此状态,而是会显示一条出错信息。 list-unit-files 命令有可能会显示此单元。 | > 0 |
mask NAME...
unmask NAME...
link PATH...
revert NAME...
从效果上看,该命令相当于撤销 edit, set-property, mask 命令所做的操作, 并且将指定单元的配置恢复成软件包提供的初始值。
add-wants TARGET NAME..., add-requires TARGET NAME...
关于 --system, --user, --runtime, --global 选项的影响, 参见前文对 enable 命令的解释。
edit NAME...
若使用了 --full 选项,则表示使用新编辑的单元文件完全取代原始单元文件, 否则默认将新编辑的单元配置片段(位于 .d/ 目录)附加到原始单元文件的末尾。
如果使用了 --force 选项,并且某些指定的单元文件不存在, 那么将会强制打开一个新的空单元文件以供编辑。
注意,在编辑过程中,编辑器实际操作的只是临时文件, 仅在编辑器正常退出时,临时文件的内容才会被实际写入到目标文件中。
注意,如果在编辑器退出时,临时文件的内容为空, 则表示取消编辑动作(而不是写入一个空文件)。
编辑动作完成之后,systemd 将会自动重新加载自身的配置(相当于执行 daemon-reload 命令),以确保所做的变更立即生效。
关于 --system, --user, --runtime, --global 选项的影响, 参见前文对 enable 命令的解释。
注意:(1)该命令不可用于编辑远程主机上的单元文件。 (2)禁止在编辑 /etc 中的原始单元文件时使用 --runtime 选项, 因为 /etc 中的单元文件优先级高于 /run 中的单元文件。
get-default
set-default NAME
机器命令
list-machines [PATTERN...]
任务(job)命令
list-jobs [PATTERN...]
cancel JOB...
环境变量命令
show-environment
set-environment VARIABLE=VALUE...
unset-environment VARIABLE...
import-environment [VARIABLE...]
systemd 生命周期命令
daemon-reload
不要将此命令与 reload 命令混淆。
daemon-reexec
系统命令
is-system-running
Table 2. is-system-running 命令的输出
| 状态 | 含义 | 返回值 |
| initializing | 启动的早期阶段。也就是尚未到达 basic.target/rescue.target/emergency.target 之前的阶段。 | > 0 |
| starting | 启动的晚期阶段。 也就是任务队列首次达到空闲之前的阶段, 或者已经启动到了某个救援 target 中。 | > 0 |
| running | 完成了全部的启动操作,整个系统已经处于完全可用的状态, 并且没有任何单元处于失败(failed)状态。 | 0 |
| degraded | 完成了全部的启动操作,系统已经可用, 但是某些单元处于失败(failed)状态。 | > 0 |
| maintenance | 启动了 rescue.target/emergency.target 目标。 | > 0 |
| stopping | 系统正处于关闭过程中。 | > 0 |
| offline | 整个系统已经处于完全可用的状态, 但init进程(PID=1)不是 systemd | > 0 |
| unknown | 由于资源不足或未知原因, 无法检测系统的当前状态 | > 0 |
default
rescue
emergency
halt
poweroff
reboot [arg]
若给出了可选的 arg 参数, 那么将会被作为可选参数传递给 reboot(2) 系统调用。 其取值范围依赖于特定的硬件平台。 例如 "recovery" 有可能表示触发系统恢复动作, 而 "fota" 有可能表示 “firmware over the air” 固件更新。
kexec
exit [EXIT_CODE]
此命令相当于 poweroff 命令, 但仅可用于用户实例(也就是以 --user 选项启动的实例)或容器, 否则会执行失败。
switch-root ROOT [INIT]
suspend
hibernate
hybrid-sleep
参数语法
单元命令的参数可能是一个单独的单元名称(NAME), 也可能是多个匹配模式(PATTERN...)。 对于第一种情况,如果省略单元名称的后缀,那么默认以 ".service" 为后缀, 除非那个命令只能用于某种特定类型的单元。例如
# systemctl start sshd
等价于
# systemctl start sshd.service
, 而
# systemctl isolate default
等价于
# systemctl isolate default.target
,因为 isolate 命令只能用于 .target 单元。 注意,设备文件路径(绝对路径)会自动转化为 device 单元名称,其他路径(绝对路径)会自动转化为 mount 单元名称。 例如,如下命令
# systemctl status /dev/sda # systemctl status /home
分别等价于
# systemctl status dev-sda.device # systemctl status home.mount
对于第二种情况,可以在模式中使用shell风格的匹配符,对所有已加载单元的主名称(primary name)进行匹配。 如果没有使用匹配符并且省略了单元后缀,那么处理方式与第一种情况完全相同。 这就意味着:如果没有使用匹配符,那么该模式就等价于一个单独的单元名称(NAME),只表示一个明确的单元。 如果使用了匹配符,那么该模式就可以匹配任意数量的单元(包括零个)。
模式使用 fnmatch(3) 语法, 也就是可以使用shell风格的 "*", "?", "[]" 匹配符(详见 glob(7))。 模式将基于所有已加载单元的主名称(primary name)进行匹配, 如果某个模式未能匹配到任何单元,那么将会被悄无声息的忽略掉。 例如
# systemctl stop sshd@*.service
命令将会停止所有 sshd@.service 的实例单元。 注意,单元的别名(软连接)以及未被加载的单元,不在匹配范围内(也就是不作为匹配目标)。
对于单元文件命令,NAME 参数必须是单元名称(完整的全称或省略了后缀的简称)或单元文件的绝对路径。 例如:
# systemctl enable foo.service
或
# systemctl link /path/to/foo.service
退出状态
返回值为 0 表示成功, 非零返回值表示失败代码。
环境变量
$SYSTEMD_EDITOR
$SYSTEMD_PAGER
$SYSTEMD_LESS
参见
systemd(1), journalctl(1), loginctl(1), machinectl(1), systemd.unit(5), systemd.resource-control(5), systemd.special(7), wall(1), systemd.preset(5), systemd.generator(7), glob(7)
NOTES
- 1.
- Preset
跋
本页面中文版由中文 man 手册页计划提供。
翻译人员:金步国
金步国作品集:http://www.jinbuguo.com
中文 man
手册页计划:https://github.com/man-pages-zh/manpages-zh
| systemd 231 |