什么是服务?在linux系统中,有一些特殊程序,启动后就会持续在后台执行,等待用户或者其他软件调用使用,这种程序我们称为服务。
linux系统中服务的管理工具
systemV,systemV当中有一个叫init的程序,这个程序可以让系统中的service命令去调用/etc/init.d/目录下的服务脚本,我们可以通过service命令去控制服务的启动与关闭,或者找到服务相应的执行文件,然后执行,比如/usr/sbin/httpd,这样才能启动一个服务,如果想要停止一个服务则需要使用kill命令去停止 该服务管理方式从RHEL7之前的系统中默认
按照功能分类
按照启动方法分类
服务之间是有依赖关系的,比如说,联网的服务如果想正常运行的话,就必须启动网络服务。而这些服务就需要用户手动去处理
init会根据用户指定的运行级别,来启动不同的服务,在linux系统中包含了0-6,一共7个运行级别
0 关机
1 单用户
2 无网络的多用户
3 字符模式
4 保留
5 图形模式
6 重启
从CentOS7开始SystemV,也就是init服务,被效率更高的systemd所替代,而这个systemd对应的管理命令就是systemctl,并且systemctl命令也兼容了service(service命令做为systemd的入口,是systemctl命令的封装)。
/usr/lib/systemd/system/ 服务的启动脚本,包含所有安装完成的服务设置文件
/run/systemd/system/ 系统运行过程中的服务脚本优先级高于上一个文件
/etc/systemd/system/ 管理员手动建立的服务启动脚本,优先级最高
/etc/sysconfig/* 系统功能的默认设置
[root@zutuanxue ~]# systemctl -t help
service 服务单元,用于控制服务
socket 套接字单元,用于进程间通信
target 目标单元,用于控制一组其它单元
device 设备单元,用于控制动态的设备
mount 挂载单元,用于管理文件系统挂载点
automount 自动挂载单元,用于管理文件系统自动挂载点
swap 交换分区单元,用于管理swap设备或swap文件
timer 定时器单元,用于管理基于时间触发的动作
path 路径单元,用于监视文件系统路径,以用于基于路径的启动
slice 范围单元,用于管理与控制一组特定进程的资源占用
scope 范围单元,与service类似,系统自动创建