一、服务简介
服务:是指执行指定系统功能的程序、例程或进程,以便支持其他程序,尤其是底层(接近硬件)程序。
例如:打印服务,ftp服务,http服务。
服务就是一个程序(正在执行的程序),是一个用来等待并出理请求的程序。
服务的控制包括启动,查询,停止的动作。
Linux系统的服务分为独立运行的服务和受xinetd管理的服务两大类。
独立运行的服务在系统启动后可以独立的运行并直接进行管理,这种服务与运行级别有关。
xinetd管理一些不常用的服务,当这些不常用的服务被请求时,由xinetd服务负责启动运行,完成服务请求,再结束该服务的运行,以减少系统资源的占用,这些服务的启动和停止都由xinetd控制。
二、systemctl命令
服务的启动与停止
命令格式:systemctl {start|stop|status|restart|reload} 服务名
选项说明:
start:启动服务。
stop:停止服务。
status:查看服务运行情况。
restart:重启服务。
reload:重新加载服务
〖例2〗 使用systemctl命令管理network服务。
启动network服务:# systemctl start network.service
查询network服务状态:# systemctl status network.service
重新启动network服务:# systemctl restart network.service
停止network服务:# systemctl stop network.service
设置服务的自启动状态
(1)ntsysv命令
ntsysv命令具有文本格式图形界面,可以进行互动式操作。其功能是可以启动或者关闭不同运行级别下各个服务的自启动状态。
(2)systemctl命令
①查看服务的自启动状态
命令格式:
systemctl is-enabled [服务名称]
如果缺省“服务名称”则表示要查看系统中所有服务的自启动状态。
②设置开机启动/不启动
命令格式:systemctl { enable | disable } 服务名称
选项说明:
enable:设置自启动状态。
disable:关闭自启动状态。
reset:恢复为系统默认的启动状态。
〖例3〗 查看network服务的自启动状态并设置为开机不启动。
# systemctl is-enabled network.service
# systemctl disable network.service
查看所有的服务
命令格式:
systemctl [选项] [–type=TYPE] [–all]
选项说明:
(1) list-units:依据unit列出所有启动的unit。加上–all会列出没启动的unit;
(2) list-unit-files:依据/usr/lib/systemd/system/ 内的启动文件,列出启动文件列表
–type=TYPE: 为unit type, 主要有service, socket, target
〖例4〗 列出所有相关的系统服务。
#systemctl //列出所有的系统服务
#systemctl list-units //列出所有启动unit
#systemctl list-unit-files //列出所有启动文件
#systemctl list-units -type=service -all //列出所有service类型的unit
#systemctl list-units -type=service -all grep cpu //列出cpu电源管理机制的服务
#systemctl list-units -type=target -all //列出所有目标单元target
systemctl命令比较强大,除了设置系统服务相关的操作外,还可以设置关机、重启等功能,具体功能如下表所示。
命令 | 说明 |
systemctl poweroff | 系统关机 |
systemctl reboot | 重新启动 |
systemctl suspend | 进入睡眠模式 |
systemctl hibernate | 进入休眠模式 |
systemctl rescue | 强制进入救援模式 |
systemctl emergency | 强制进入紧急救援模式 |
项目二:使用systemctl管理NFS服务
操作过程:
#systemctl status nfs.service
#systemctl start nfs.service
#systemctl status nfs.service
#systemctl is-enabled nfs.service
#systemctl enable nfs.service