Linux服务控制及优化启动过程详解

1.服务控制及切换运行级别

学习目的:
在Linux系统完成引导以后,如何控制系统服务的运行状态,如何在不同的运行级别之间进行切换,如何优化启动过程,减少系统占用的资源。

1.1系统服务控制

以下两种方式都可以实现对指定系统服务的控制:

  • 其一是使用专门的service控制工具;
  • 其二是直接执行系统服务的脚本文件。

命令格式:

systemctl 控制类型 服务名称

或者

/etc/rc.d/init.d/ 控制类型 服务名称

控制类型如下:

  • start(启动):运行指定的系统服务程序,实现服务功能;
  • stop(停止):终止指定的系统服务程序,关闭相应的功能;
  • restart(重启):先退出,再重新运行指定的系统服务程序;
  • reload(重载):不退出服务程序,只是刷新配置。在某些i服务中与restart的操作相同;
  • status(查看状态):查看指定的系统服务的运行状态及相关信息。

注:重新启动与重新加载的区别在于,重新启动会先关闭服务再开启,服务会中断;而重新加载,不会中断服务。

扩展:
systemctl 与 service 的对应关系,如下:
systemctl start 服务 = service 服务 start
systemctl stop 服务 = service 服务 stop
systemctl status 服务 = service 服务 status
systemctl reload 服务 = service 服务 reload
systemctl restart 服务 = service 服务 restart
注意:
systemctl 或 service管理服务时,在/lib/systemd/system下面要有这个服务.service文件或者在/etc/init.d/服务的配置文件。

1.2Linux系统的运行级别

1.2.1 查看系统的运行级别

作用:
明确当前系统所在的运行级别将有助于管理员对一些应用故障的排除
命令包含两种:

  • runlevel命令
  • systemctl命令

示例:

[root@local~]# runlevel
N 5

注意:若之前尚未切换过运行级别,第一列将显示为“N”

1.2.2 切换系统的运行级别

临时切换运行级别的命令:inin 命令 和 systemctl 工具

  • 当用户需要将系统转换为其他的运行级别时,可以通过init程序进行,只要使用与运行级别相对应的数字(0~6)作为命令参数即可。例如,为了节省系统资源,将运行级别由图形模式(5)切换为字符模式(3),可以执行“init 3”命令。
[root@local~]# init 3
[root@local~]# runlevel
5 3

注意:
将系统切换到字符模式后,图形桌面环境将不再可用,这时候按 Alt+F7 快捷键也是无法恢复图形桌面环境的(因为图形桌面相关程序已经被关闭了)。需要再使用图形桌面时,可以执行“init 5”切换回去。

扩展:
通过切换运行级别的操作,我们还可以实现两个特殊的功能,如下:

[root@local~]# init 0	##关机
[root@local~]# init 6	##重启

2.优化启动过程

Linux系统中包含了大量的服务程序,这些服务程序在切换运行级别时由rc脚本根据预设的状态进行启动或终止。其中有不少系统服务可能并不是用户需要的,但是默认也运行了。此时,对启动过程进行优化就显得至关重要。

2.1系统服务的选择

  • 在Linux系统服务中,默认安装的系统服务很多很多,这些服务为用户提供了丰富的应用服务。只有正确了解各个系统服务的用途,才能有选择地进行优化操作,实现按需启动Linux服务。
  • 必须强调的是:这些服务到底是选择开启还是关闭,应根据主机的实际功能需求来定,不要生搬硬套。例如,如果当前的Linux主机用来向局域网提供文件共享服务,那么smb(文件共享)服务应需要开启,否则可以关闭。

2.2 优化开机自动加载的服务

2.2.1 ntsysv工具

可以在字符模式中运行,为用户提供一个仿图形的交互式操作界面,专门用于集中配置各种 系统服务的启动状态。当需要设置多个服务的启动状态 时,使用ntsysv工具会更方便。
特点:

  • 提供一个交互式,可视化窗口;
  • 可以在字符终端运行;
  • 便于集中管理。

示例:

打开ntsysv管理程序,对运行级别3、5中的各种 系统服务的默认启动状态进行调整

[root@local~]# ntsysv --level 3 5  

在这里插入图片描述

2.2.2 systemctl工具

  • 不提供交互式、可视化窗口;
  • 管理单个服务效率更高

系统服务的启动和控制:

  • 查看系统服务的启动状态
systemctl is-enabled 服务名称
  • 设置系统服务的启动发态
systemctl enable/disable 服务名称

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值