Centos systemctl 管理服务

Posted 宁川

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos systemctl 管理服务相关的知识,希望对你有一定的参考价值。

Centos systemctl 介绍

在 Centos 中 systemctl 是设置系统服务(service)的命令,它融合之前service和chkconfig的功能于一体。
可以使用它永久性或只在当前会话中启用/禁用服务。

添加服务

CentOS7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,需要开机不登陆就能运行的程序,存在系统服务里,即:/usr/lib/systemd/system目录下.
CentOS7的每一个服务以.service结尾,一般会分为3部分:[Unit]、[Service] 和 [Install]

[Unit]部分主要是对这个服务的说明,内容包括Description和After,Description 用于描述服务,After用于描述服务类别

[Service]部分是服务的关键,是服务的一些具体运行参数的设置.
Type=forking是后台运行的形式,
PIDFile为存放PID的文件路径,
ExecStart为服务的具体运行命令,
ExecReload为重启命令,
ExecStop为停止命令,
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]部分的启动、重启、停止命令全部要求使用绝对路径,使用相对路径则会报错!

[Install]部分是服务安装的相关设置,可设置为多用户的
WantedBy=multi-user.target

常用命令

# 查看开机自启的服务
systemctl list-unit-files | grep enabled

# 查看某个服务是否自启动
systemctl is-enabled *.service
systemctl list-unit-files | grep *

# 设置某个服务自启动
systemctl enable *.service 

# 取消服务自启动
systemctl disable *.service

# 启动服务
systemctl start *.service

# 停止服务
systemctl stop *.service

# 重启服务
systemctl restart *.service

# 重新加载服务配置文件
systemctl reload *.service

# 查询服务运行状态
systemctl status *.service

# 显示启动失败的服务
systemctl list-unit-files | grep failed 

以上是关于Centos systemctl 管理服务的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 7.0 服务管理 – systemctl 命令

CentOS 7上利用systemctl添加自定义系统服务

centos7 systemctl 管理 mysql

CentOS7.5下开发systemctl管理的自定义Rsync启动服务程序

CentOS7中使用systemctl列出启动失败的服务

centos7 systemctl