一、systemd介绍
systemd是目前Linux系统上主要的系统守护进程管理工具,由于init一方面对于进程的管理是串行化的,容易出现阻塞情况,另一方面init也仅仅是执行启动脚本,并不能对服务本身进行更多的管理。所以从CentOS 7开始也由systemd取代了init作为默认的系统进程管理工具。systemd所管理的所有系统资源都称作Unit,通过systemd命令集可以方便的对这些Unit进行管理。比如systemctl、hostnamectl、timedatectl、localctl等命令,这些命令虽然改写了init时代用户的命令使用习惯(不再使用chkconfig、service等命令),但确实也提供了很大的便捷性。
二、systemctl命令语法与示例
1、systemctl语法
systemctl [command] [unit]
command可选项
·start:启动指定的unit
·stop:关闭指定的unit
·restart:重启指定unit
·reload:重载指定unit
·enable:系统开机时自动启动指定unit,前提是配置文件中有相关配置
·disable:开机时不自动运行指定unit
·status:查看指定unit当前运行状态
2、systemctl命令示例
·systemctl status命令,查看指定Unit状态
sysystemctl status httpd.service #显示单个Unit状态
systemctl is-active application.service #显示某个Unit是否正在运行
systemctl is-enabled application.service #显示某个Unit是否开机自启
·systemctl list-units命令,查看系统中Unit信息
systemctl list-units #列出正在运行的Unit
systemctl list-units --all #列出所有Unit,包括缺失配置文件或启动失败的
systemctl list-units --all --state=inactive #列出所有没有运行的Unit
systemctl list-units --failed #列出所有加载失败的Unit
systemctl list-units --type=service #列出所有正在运行的类型为service的Unit
·systemctl启停service命令
systemctl start apache.service #启动一个服务
systemctl stop apache.service #停止一个服务
systemctl kill apache.service #如果服务无法正常停止则使用kill方式终止