系统服务分类

  1. 默认服务:(rpm包安装的)
    chkconfig查看所有rpm包安装的服务
    源码包所有文件安装在/usr/local.
    rpm包安装到厂商指定的位置
  • service httpd start(redhat)独立服务启动,是因为rpm包安装的服务启动日志都在/etc/rc.d/init.d下,service命令每次都在这里搜索服务
  • /etc/init.d/httpd start|status|restart|stop ,独立服务的启动

service --status-all 服务状态查询

systemv一些服务的目录:

1
2
3
4
5
6
/etc/init.d  独立服务启动脚本位置
/etc/sysconfig/ 初始化环境配置文件
/etc/ 配置文件位置
/etc/xinetd.d xinetd.d服务启动脚本
/var/lib/ 服务产生数据
/var/log/ 日志
  • 独立服务的自启动
    1
    2
    修改配置文件夹
    /etc/rc.d/rc.local

    centos 7 取消了 system V 的 init操作 管理,改用system d

    whatis systemd :
    systemd system and service manager
  1. init服务按顺序启动,而systemd并行启动所有服务
  2. 自动解决依赖性问题
  3. 将许多daemon集合为一个target,位操作系统环境一次启动
  4. 运行级别启动脚本通过/etc/rc.d/rc[0-6]/Sxxdaemon链接到/etc/init.d/daemon,S是启动该服务.xx是启动顺序
  • systemddaemon执行脚本统称为一个服务单位(unit),在systemd中进行分类(type)

systemd一些服务目录

1
2
3
/usr/lib/systemd/ 类似(/etc/init.d)
/run/systemd/system 系统执行过程中产生的服务脚本,优先级比上面高
/etc/systemd/system 管理员根据需求建立的执行脚本,优先级比上一个也高

type

1
2
3
4
5
6
7
.service (unit) 系统服务(本地\网络)
.socket (unit) 内部程序数据交换socket服务
.target (unit集合),系统执行环境服务集合
.mount // unit
.automount //文件系统挂载服务
.path //unit 检测特定文件或目录类型
.timer // 循环执行的服务

systemctl

whatis systemctl
Control the systemd system and service manager:控制systemd系统和服务管理器

1
2
3
4
5
6
7
8
9
10
systemctl [command] [unit]
[command]:
start
stop
restart
reload:重新加载配置文件
enable:配置文件中:开机启动
disable:配置文件中:开机不启动
status
is-active:是否运行
1
2
3
4
5
状态active:
running
exited:目前没执行,执行一次就退出的状态
waiting:正在运行且等待
inactive:未运行
  • 查看系统服务
    systemctl [command] [--type=TYPE] [--all]
    1
    2
    3
    4
    5
    6
    command:
    list-units: 显示目前启动的, --all显示所有
    list-unit-files:将/usr/lib/systemd/system/所有服务说明
    TYPE
    serviesockettargetmount
    systemctl list-units --type=service

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!