systemctl 服务管理

CentOS7 在服务管理的时候不再推荐service,而是推荐功能强大的systemctl,他拥有原service和chkconfig(启动管理)的功能

基本使用

#查看已启动的服务列表
systemctl list-unit-files|grep enabled
#在开机时启用一个服务
systemctl enable firewalld.service
#在开机时禁用一个服务
systemctl disable firewalld.service
#查看服务是否开机启动
systemctl is-enabled firewalld.service
#查看所有的服务
systemctl list-units --type=service --all
#重新加载所有服务
systemctl daemon-reload
#禁用一个服务
systemctl mask firewalld.service
#取消禁用一个服务
systemctl unmask firewalld.service

#查看启动失败的服务列表
systemctl --failed

#显示一个服务的状态
systemctl status firewalld.service
#启动一个服务
systemctl start firewalld.service
#关闭一个服务
systemctl stop firewalld.service
#关闭服务, 然后启动服务
systemctl restart firewalld.service
#不关闭服务重新载入配置
systemctl reload firewalld.service

配置一个可以用systemctl管理的服务

vim /lib/systemd/system/redis.service
#粘贴

[Unit]
Description=Redis
After=network.target

[Service]
Type=forking
PIDFile=/service/run/redis/redis_6379.pid
ExecStart=/service/redis/bin/redis-server /service/redis/etc/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target