在Centos 中 systemctl 是设置系统服务的命令,即 service , 它融合以前service和chkconfig的功能于一体。post
能够使用它永久性或只在当前会话中启用/禁用服务。spa
CentOS 7 的 /etc/rc.d/rc.local 是没有执行权限的, 系统建议建立 systemd service 启动服务。3d
查看服务列表状态:rest
systemctl list-units --type=service code
systemctl list-unit-files 列出全部已经安装的 服务 及 状态 (可为人所读, 内容简略、清晰):blog
systemctl 能够列出正在运行的服务状态,如图:(基本不为人所读, 内容复杂、全面)递归
systemd-cgls 以树形列出正在运行的进程,它能够递归显示控制组内容。如图:进程
二、如何启动/关闭、启用/禁用服务?get
启动一个服务:it
systemctl start postfix.service
关闭一个服务:
systemctl stop postfix.service
重启一个服务:
systemctl restart postfix.service
显示一个服务的状态:
systemctl status postfix.service
在开机时启用一个服务:systemctl enable postfix.service
在开机时禁用一个服务:systemctl disable postfix.service
查看服务是否开机启动: systemctl is-enabled postfix.service
查看已启动的服务列表: systemctl list-unit-files | grep enabled
查看启动失败的服务列表: systemctl --failed
PS:使用命令 systemctl is-enabled postfix.service 获得的值能够是enable、disable或static,这里的 static 它是指对应的 Unit 文件中没有定义[Install]区域,所以没法配置为开机启动服务。
说明:启用服务就是在当前“runlevel”的配置文件目录 /etc/systemd/system/multi-user.target.wants 里,创建 /usr/lib/systemd/system 里面对应服务配置文件的软连接;
禁用服务就是删除此软连接,添加服务就是添加软链接。
如图:
打开某个 service 文件, 查看一下其中内容: