systemd 是一个专用于 Linux 操作系统的系统与服务管理器。 当作为启动进程(PID=1)运行时,它将作为初始化系统运行, 也就是启动并维护各种用户空间的服务。
为了与传统的 SysV 兼容,如果将 systemd 以 init 名称启动,并且"PID≠1",那么它将执行 telinit 命令并将所有命令行参数原封不动的传递过去。 这样对于普通的登陆会话来说,无论是调用 init 还是调用 telinit 都是等价的。
当作为系统实例运行时, systemd 将会按照 system.conf 配置文件 以及 system.conf.d 配置目录中的指令工作; 当作为用户实例运行时,systemd 将会按照 user.conf 配置文件 以及 user.conf.d 配置目录中的指令工作。
选项
能够识别的命令行选项如下:
--test
检测并输出启动序列,然后退出。 仅用于调试目的。
--dump-configuration-items
输出一个单元(unit)列表。 此列表简明且完整的列出了 所有单元文件中定义的"unit"。
--unit=
设置启动时默认启动的单元(unit)。 默认值是 default.target
--system, --user
--system 表示强制作为系统实例运行(即使"PID≠1"), --user 表示强制作为用户实例运行(即使"PID=1")。 通常不应该使用此选项。 此选项仅用于调试目的, 而且 --system 仅在与 --test 一起使用时才有实际意义。
--dump-core
在崩溃时进行内核转储。 当作为用户实例运行时,此选项没有实际意义。 此选项还可以通过内核引导选项 systemd.dump_core= 开启 (参见"内核引导选项"小节)。
--crash-vt=VT
在崩溃时切换到指定的虚拟控制台(VT)。 当作为用户实例运行时,此选项没有实际意义。 可以设为一个 1–63 之间的整数或布尔值。 若设为整数则切换到指定编号的虚拟控制台; 若设为 yes 则表示使用内核消息所使用的虚拟控制台; 若设为 no 则表示不切换到任何虚拟控制台。 此选项还可以通过内核引导选项 systemd.crash_vt= 设置 (参见"内核引导选项"小节)。
--crash-shell
在崩溃时启动一个 shell 。 当作为用户实例运行时,此选项没有实际意义。 此选项还可以通过内核引导选项 systemd.crash_shell= 开启 (参见"内核引导选项"小节)。
--crash-reboot
在崩溃时自动重启系统。 当作为用户实例运行时,此选项没有实际意义。 此选项还可以通过内核引导选项 systemd.crash_reboot= 开启 (参见"内核引导选项"小节)。
--confirm-spawn
在派生新进程时进行确认提示。 当作为用户实例运行时,此选项没有实际意义。
--show-status=
在系统启动过程中显示简明的服务状态信息。 当作为用户实例运行时,此选项没有实际意义。 其参数必须是一个表示真假的布尔值, 如果未指定则相当于设为 yes
--log-target=
设置日志的目标,其参数必须是 console, journal, kmsg, journal-or-kmsg, null 之一(小写)。
--log-level=
设置日志的等级, 其参数必须是一个数字或者 符合 syslog(3) 习惯的 emerg, alert, crit, err, warning, notice, info, debug 之一(小写)。
--log-color=
高亮重要的日志信息,其参数必须是一个表示真假的布尔值, 若未指定则相当于设为 yes
--log-location=
在日志中包含代码的位置, 其参数必须是一个表示真假的布尔值, 若未指定则相当于设为 yes 。仅用于调试目的。
--default-standard-output=, --default-standard-error=
为所有的 service 与 socket 设置默认的标准输出与标准错误, 相当于设置 StandardOutput= 与 StandardError= 指令的值(参见 systemd.exec(5) 手册)。其参数必须是 inherit, null, tty, journal, journal+console, syslog, syslog+console, kmsg, kmsg+console 之一(小写)。 --default-standard-output= 的默认值是 journal ;而 --default-standard-error= 的默认值是 inherit
--machine-id=
覆盖文件系统上的 machine-id 设置, 常用于网络启动或容器。 禁止设为全零的值。
-h, --help
显示简短的帮助信息并退出。
--version
显示简短的版本信息并退出。
信号
SIGTERM
systemd 系统实例将会保存其当前状态, 然后重新执行它自身,再恢复到先前保存的状态。 基本上相当于执行 systemctl daemon-reexec 命令。
systemd 用户实例将会启动 exit.target 单元。 基本上相当于执行 systemctl --user start exit.target 命令。
SIGINT
systemd 系统实例将会启动 ctrl-alt-del.target 单元。 基本上相当于执行 systemctl start ctl-alt-del.target 命令。 在控制台上按 Ctrl-Alt-Del 组合键即可触发这个信号。 但是,如果在2秒内连续收到超过7次这个信号,那么将会不顾一切的立即强制重启。 因此,如果系统在重启过程中僵死, 那么可以通过快速连按7次 Ctrl-Alt-Del 组合键来强制立即重启。
systemd 用户实例处理此信号的方式与 SIGTERM 相同。
SIGWINCH
systemd 系统实例将会启动 kbrequest.target 单元。 基本上相当于执行 systemctl start kbrequest.target 命令。
systemd 用户实例将会完全忽略此信号。
SIGPWR
systemd 将会启动 sigpwr.target 单元。 基本上相当于执行 systemctl start sigpwr.target 命令。
SIGUSR1
systemd 将会尝试重新连接到 D-Bus 总线。
SIGUSR2
systemd 将会以人类易读的格式将其完整的状态记录到日志中。 日期的格式与 systemd-analyze dump 的输出格式相同。
SIGHUP
重新加载守护进程的配置文件。 基本上相当于执行 systemctl daemon-reload 命令。
SIGRTMIN+0
进入默认模式,启动 default.target 单元。 基本上相当于执行 systemctl start default.target 命令。
SIGRTMIN+1
进入救援模式,启动 rescue.target 单元。 基本上相当于执行 systemctl isolate rescue.target 命令。
SIGRTMIN+2
进入紧急维修模式,启动 emergency.target 单元。 基本上相当于执行 systemctl isolate emergency.target 命令。
SIGRTMIN+3
关闭系统,启动 halt.target 单元。 基本上相当于执行 systemctl start halt.target 命令。
SIGRTMIN+4
关闭系统并切断电源,启动 poweroff.target 单元。 基本上相当于执行 systemctl start poweroff.target 命令。
SIGRTMIN+5
重新启动,启动 reboot.target 单元。 基本上相当于执行 systemctl start reboot.target 命令。
SIGRTMIN+6
通过内核的 kexec 接口重新启动,启动 kexec.target 单元。 基本上相当于执行 systemctl start kexec.target 命令。
SIGRTMIN+13
立即关闭机器
SIGRTMIN+14
立即关闭机器并切断电源
SIGRTMIN+15
立即重新启动
SIGRTMIN+16
立即通过内核的 kexec 接口重新启动
SIGRTMIN+20
在控制台上显示状态消息。 相当于使用 systemd.show_status=1 内核引导选项。
SIGRTMIN+21
禁止在控制台上显示状态消息。 相当于使用 systemd.show_status=0 内核引导选项。
SIGRTMIN+22, SIGRTMIN+23
将日志等级设为 "debug"(22) 或 "info"(23)。 相当于使用 systemd.log_level=debug 或 systemd.log_level=info 内核引导选项。
SIGRTMIN+24
立即退出 systemd 用户实例(也就是仅对 --user 实例有效)。
SIGRTMIN+26, SIGRTMIN+27, SIGRTMIN+28
将日志等级设为 "journal-or-kmsg"(26) 或 "console"(27) 或 "kmsg"(28)。 相当于使用 systemd.log_target=journal-or-kmsg 或 systemd.log_target=console 或 systemd.log_target=kmsg 内核引导选项。
暂无该命令例子,添加例子
评论(0)
暂无评论