显示所有已启用的Unit(list-units)
因为systemctl命令的默认选项是systemctl list-units,不添加任何选项的话,将显示list-units的结果。
另外在systemctl命令中加上--no-pager选项后将不翻页显示所有单元的内容。
统一显示已安装的Unit文件(list-unit-files)
比如执行了yum install httpd命令安装Apache后,会追加这样一个Unit文件。
启用Unit(enable)
启用Unit后,会如下所示系统在开机时就会启动服务。systemctl enable httpd命令与之前CentOS6中chkonfig httpd on的作用是一样的。
另外multi-user即相当于runlevel(init) 2 or 3 or 4。各运行状态如下所示。
runlevel0 -> poweroff 关机
runlevel1 -> rescue 单用户模式(救援模式)
runlevel2 -> multi-user 多用户模式(无网络、字符界面)
runlevel3 -> multi-user 多用户模式(有网络、字符界面)
runlevel4 -> multi-user 备用模式(现已基本废弃)
runlevel5 -> graphical 图形界面
runlevel6 -> reboot 重启系统
命令执行后,原本安装后默认禁用(disable)的服务将被启用。
禁用Unit(disable)
禁用后,该服务(启动项)将被删除。systemctl disable httpd与chkonfig httpd off作用等同。
使用list-unit-files命令确认是否被禁用。
查看Unit是否启用/禁用(is-enable)
启用时显示enabled,禁用时显示disabled。
Unit的再启用(reenable)
使用再启动命令后,会先禁用Unit后再启用。
启动Unit(start)
service命令会显示启动过程,而systemctl则并不显示启动的详细过程。
Unit的状态确认(status)
显示Unit的详细信息(show)
show选项会显示Unit的详细信息。虽然status选项更加直观,但在处理脚本的时候show选项使用起来更加得心应手。
终止Unit(stop)
终止单元和其开启过程一样,并不显示详细信息。
重新读取Unit的配置文件(reload)
是否可重新加载取决于Unit自身。
重启Unit(restart)
和start、stop一样,通常无消息提示。
尝试重启Unit(try-restart)
Unit处在启动状态时则重启。Unit未运行时则不进行任何操作。
重新加载Unit设置或重启(reload-or-restart)
若Unit能重新加载配置则执行reload操作,若无法重新加载配置则执行restart操作。另外Unit若处在停止状态则启动。
重新载入Unit的配置或尝试重启(reload-or-try-restart)
虽然与reload-or-restart同样,但若Unit处在停止状态时则不启动。
强行终止Unit(kill)
Unit的锁定(遮掩)(mask/unmask)
虽然禁用(disable)Unit后也能启动它,但使用mask命令后该服务则完全无法启动。
Unit被masked后,is-enabled会提示被锁定。
解除mask需要使用unmask选项。
确认Unit的运行状态(is-active)
使用is-active选项,若Unit处在运行状态则反馈active。
若未处在运行状态则反馈unknown。
查看Unit的异常状态(is-failed)
使用选项is-failed,若Unit正常运行则反馈active。
若该Unit异常或未启动,则反馈failed。
重置Unit的异常状态(reset-failed)
systemd将重置处在异常状态中的Unit。
查看Unit的依赖关系(list-dependencies)
将显示该Unit所依赖的所有Unit。
写在最后
从CentOS 6.x过来的用户可能完全习惯了init的管理方式,对于新systemd的管理方式可能难以适应或心生厌恶。但由于systemd的强大和不断普及,今后将很有可能成为发展主流,所以有必要深入学习并习惯这种新管理方式。
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/100908