Linux运维:系统服务管理

环境:CentOS Linux release 7.5.1804 (Core)

chkconfig

chkconfig命令主要用来更新(启动或中止)和查询系统服务的运行级信息。
参数用法:
--add增长所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增长相关数据。
--del  删除所指定的系统服务,再也不由chkconfig指令管理,并同时在系统启动的叙述文内删除相关数据。
--level<等级代号>  指定读系统服务要在哪个执行等级中开启或关毕。php

  • 等级0表示:表示关机
  • 等级1表示:单用户模式
  • 等级2表示:无网络链接的多用户命令行模式
  • 等级3表示:有网络链接的多用户命令行模式
  • 等级4表示:不可用
  • 等级5表示:带图形界面的多用户模式
  • 等级6表示:从新启动

示例:chkconfig --list
显示全部运行级系统服务的运行状态信息(on或off)。若是指定了name,那么只显示指定的服务在不一样运行级的状态,如(chkconfig --list nginx)。mysql

[root@moli_linux1 ~]$ chkconfig --list

注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。 

      要列出 systemd 服务,请执行 'systemctl list-unit-files'。
      查看在具体 target 启用的服务请执行
      'systemctl list-dependencies [target]'。

mysqld             0:关    1:关    2:开    3:开    4:开    5:开    6:关
netconsole         0:关    1:关    2:关    3:关    4:关    5:关    6:关
network            0:关    1:关    2:开    3:开    4:开    5:开    6:关
nginx              0:关    1:关    2:开    3:开    4:开    5:开    6:关
php-fpm            0:关    1:关    2:开    3:开    4:开    5:开    6:关

示例2:将network服务3级别中止掉linux

$ chkconfig --level 3 network off

示例3:将network服务345级别中止掉nginx

$ chkconfig --level 345 network off

示例4:将network服务从启动列表删除sql

$ chkconfig --del network

示例5:将network服务加入到开机启动列表shell

$ chkconfig --add network

将一个服务或者脚本加入开机启动列表,须要将这个服务的启动文件(shell脚本)放入/etc/init.d目录下,并且启动文件中须要有# chkconfig:2342 74 83和# description:xxx这样格式的存在。如:
图片描述网络

systemd

CentOS7中使用systemd替换了SysV。Systemd目的是要取代Unix时代以来一直在使用的init系统,兼容SysV和LSB的启动脚本,并且够在进程启动过程当中更有效地引导加载服务。socket

若是是经过RPM或者YUM安装,则应用程序通常在/usr/lib/systemd/system目录下建立对应的配置文件,咱们能够经过系统提供的systemctl命令来管理这些服务。
systemd的特性有:php-fpm

  • 支持并行化任务
  • 同时采用socket式与D-Bus总线式激活服务;
  • 按需启动守护进程(daemon);
  • 利用 Linux 的 cgroups 监视进程;
  • 支持快照和系统恢复;
  • 维护挂载点和自动挂载点;
  • 各服务间基于依赖关系进行精密控制。

systemctl命令

检视和控制systemd的主要命令是systemctl。该命令可用于查看系统状态和管理系统及服务。spa

1. 查看系统中全部服务

$ systemctl list-units --all --type=service

2. 让服务开机启动(以crond服务为例)

$ systemctl enable crond.service

3. 不让服务开机启动

$ systemctl disable crond

4. 查看状态

$ systemctl status crond

如图,crond服务正在启动状态
图片描述
5. 中止服务

$ systemctl stop crond

6. 启动服务

$ systemctl start crond

7. 重启服务

$ systemctl restart crond

8. 检查服务是否开机启动

$ systemctl is-enabled crond

enabled表示开机启动,disabled表示开机不启动
图片描述

注意:设置一个服务开机启动或者开机不启动的时候,会有一个提示,例如,设置crond服务开机启动或者不启动,都会有一行提示以下:

# 设置开机自启
$ systemctl enable crond
Created symlink from /etc/systemd/system/multi-user.target.wants/crond.service to /usr/lib/systemd/system/crond.service.

# 设置开机不自启
$ systemctl disable crond
Removed symlink /etc/systemd/system/multi-user.target.wants/crond.service.

当enable一个服务时,就会建立一条软链接,而disable的时候就会挪走这个软链接。

相关文章
相关标签/搜索