linux服务管理:systemctl指令 | service指令

发布时间 2023-07-27 22:09:54作者: Crispy·Candy

摘要

linux在管理服务时有两个指令,一个是service指令,一个是systemctl指令,前者几乎已经过时了,但是还有一些指令会使用

一、service服务指令

1. 指令说明

指令 功能 说明 选项
`service 服务名 [start stop restart reload
  1. 指令:service 服务名 [start | stop | restart | reload | status]
  2. 在CentOS7.0后很多服务不再使用service ,而是systemctl
  3. service指令管理的服务在/etc/init.d查看

2. 启动/关闭服务案例

使用service指令,查看、关闭、启动network

  1. 查看
service status network
  1. 关闭
service stop network
  1. 启动
service start network

二、systemctl指令

1. systemctl介绍

systemctl管理指令

  1. 基本语法:systemctl [start | stop | restart | status] 服务名
  2. systemctl指令管理的服务在 /usr/lib/systemd/system 查看

systemctl设置服务的自启动状态

  1. systemctl list-unit-files [ | grep服务名] (查看服务开机启动状态, grep可以进行过滤)
  2. systemctl enable 服务名 (设置服务开机启动)
  3. systemctl disable 服务名 (关闭服务开机启动)
  4. systemctl is-enabled 服务名 (查询某个服务是否是自启动的)

应用案例:

  1. 查看当前防火墙的状况,关闭防火墙和重启防火墙。

细节讨论:

  1. 关闭或者启用防火墙后,立即生效。[telnet测试某个端口即可]
  2. 这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置。
  3. 如果希望设置某个服务自启动或关闭永久生效,要使用systemctl [enable|disable] 服务名

2. systemctl指令

(1) 查看服务列表

(2) 查看服务状态

查看服务状态

① 查看所有服务
systemctl list-unit-files [ | grep服务名]

② 查看单个服务状态

下面是查看防火墙服务


当然还有另一种方式

指令 功能 说明 选项
systemctl is-enabled 服务名 查看服务的状态,这个是查看自启动状态

  • 后面加不加.service都可以

指令 功能 说明 选项
systemctl status 服务名 查看服务的状态,这个是查看运行状态

(3) 设置服务自启动/关闭

指令 功能 说明 选项
systemctl enable 服务名 开启服务
systemctl disable 服务名 关闭服务

三、start|stop & enable|disable

  1. 使用 systemctl start|stop 服务名 可以在本次开机的时候开启或者关闭,但是下次开机时按照默认设置自开启/关闭
  2. 使用 systemctl enable|disable 服务名 设置的是 开机时的 自启动/关闭状态,但是并不能设置本次开机时的状态
  3. systemctl status 服务名可以查看 start|stop的状态,比如运行中,会显示running
  4. systemctl is-enable 服务名可以查看系统启动时的状态,只显示 enable|disable

四、应用案例

查看当前防火墙的状况,关闭防火墙和重启防火墙。

systemctl status firewalld
systemctl stop firewalld
systemctl start firewall