Linux系统引导过程与服务控制 —— 系统服务控制管理

系统服务控制

  • 两种方式可以实现对系统服务的控制:service、/etc/rc.d/init.d
语法:
service 服务 名称控制类型
         或
/etc/rc.d/init.d 服务 名称控制类型

常见的控制类型:
start(启动):运行指定的系统服务程序,实现服务功能
stop(停止):终止指定的系统服务程序,关闭相应的功能
restart(重启):先退出,在重新运行指定的系统程序
reload(重载):不退出服务程序,只刷新配置
status(查看状态):查看指定服务的运行状态及相关信息
  • 查看、切换运行级别
runlevel            ###查看当前的运行级别

init 运行级别
示例:
init 6        ###重启系统

优化启动服务

使用 ntsysv 工具

  • ntsysv 工具可以在字符模式中运行,为用户提供一个仿图形的交互式操作界面,专门用于集中配置各种系统服务的启动状态
  • 单独执行 “ntsysv” 命令时仅用于管理当前运行级别中的服务。
  • 通过 “–level” 选项可以对指定运行级别中的服务进性管理
	例如:对运行级别为35中的各种系统服务的默认启动状态进行调整
	ntsysv --level 35
	 
	上下键选择服务;
	空格默认设置启动状态([*] :表示启动;[ ] :表示关闭)
	F1键获取帮助信息
	Tab键进行确认、取消

在这里插入图片描述

使用 chkconfig 工具

  • chkconfig 用于查询或设置系统服务的默认启动状态,当某个服务在不同运行级别中的默认启动状态时,使用 chkconfig 工具会更有效率
[root@localhost ~]# chkconfig --list            ###查看所有服务的默认启动状态
netconsole     	0:1:2:3:4:5:6:关
network        	0:1:2:3:4:5:6:[root@localhost ~]# chkconfig --list network          ###查看指定服务放默认启动状态
network        	0:1:2:3:4:5:6:关


指定服务 httpd 在进入字符模式时不启动(off:关闭;on:开启)
chkconfig --level 3 httpd off      
chkconfig --list httpd          

指定服务 httpd 在 2345运行级别时不启动(off:关闭;on:开启)
chkconfig --level 2345 httpd off
chkconfig --list httpd

系统服务管理

systemd进程

  • 从 CentOS 7 版本开始 内核第一加载的程序就换成 systemd,成为PID号始终为1的初始化进程。
  • systemd 作为父进程是不会被轻易终止的,需要切换不同的系统运行状态
  • systemd 诞生的主要目的是为了将更多的服务并发启动,从而提高系统启动速度其最大的优点在于具有提供按需启动服务的能力,只有在某个服务真正被请求时才进行启动,当该服务结束时 systemd 就将其关闭,等待下次需要时启动。
语法:
systemctl 控制类型 服务名称

控制类型:
start :启动
stop :停止
restart :重启
reload :重载
status :查看服务状态
enable :开机自启
disable :开机自停止
runlevel :查看运行级别
systemctl get-default :查看当前运行级别
is-enable :查看开机启动状态

查看依赖关系:
systemctl list-dependencies

屏蔽服务:
systemctl mask name.service

取消屏蔽:
systemctl unmask name.service

服务配置文件

列出指定 systemd 单元类型的所有配置文件及其状态:
systemctl list-unit-files --type unit-type


单元配置文件状态一共有四种:
enabled :已经建立开机自启关系
disabled :没建立开机自启关系
static :该配置文件不能被自动启动,只能作为其他配置文件的依赖
masked :该配置文件不允许建立自动启动关系
  • CentOS 7 引入了 target 类型单元来讲系统启动时需要启动大量 systemd 单元进行分类。简单来说 target 就是一个单元组,通过一连串的依赖关系将许多相关的 systemd 单元组织在一起
查看当前系统上所有 target :
systemctl list-unit-files --type target

其中最常见的 target :
default.target :默认启动的 target
graphical.target :图形界面的 target
multi-user.target :多用户字符界面的 target

查看当前系统默认启动的target:
systemctl get-default

设置默认启动的 target:
systemctl set-default multi-user.target

在不同的 target 之间切换:
systemctl isolate multi-user.target
  • systemd 其他命令
永久修改主机名:
hostnamectl set-hostname 主机名

查看主机名状态
hostnamectl status

● 日志系统
systemd 提供了自己的日志系统 journal ,无需安装额外的服务(rsyslog),就可以使用 journalctl 命令读取日志信息
journalctl 还可以根据特定字段进行过滤输出:
  1)输出本次启动后的所有日志:
  journalctl -b

  2)显示固定时间段的日志信息,例如,202011312点之后的日志信息:
  journalctl --since=2020-11-3 00:00:00”


● 语言设置
1、systemd 的命令 localectl 可以用来查看与设置系统的语言,可以使用 localectl 命令显示当期那系统使用的语言
[root@localhost ~]# localectl
   System Locale: LANG=zh_CN.UTF-8
       VC Keymap: cn

2、列出当前系统所支持的语言
localectl list-locales

3、设置语言为中文
localectl set-locale LANG=zh_CN.UTF-8


● 时间相关
1、在centos 7中,关于时间的命令除了保留了之前版本所用到的date等命令之外,还增加了 timedatectl 。可以使用 timedatectl 命令(等同于 timedatectlstatus 命令)来查看当前时间相关设置
[root@localhost ~]# timedatectl
      Local time:2020-11-03 02:53:03 CST
  Universal time:2020-11-02 18:53:03 UTC
        RTC time:2020-11-02 18:53:03
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: no
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

2、设置系统日期:
timedatectl set-time YYYY-MM-DD

3、设置系统时间:
timedatectl set-time HH:MM:SS

4、设置系统时区:
timedatectl set-timezone time_zone


● 登录系统的用户信息
1、systemd 提供了查看登录系统信息的 loginctl 命令。使用命令 loginctl(等同于 loginctl list-sessions 命令)来查看当前登录用户的会话。
[root@localhost ~]# loginctl
   SESSION        UID USER             SEAT            
        57          0 root             seat0               
   1 sessions listed.


2、列出登录系统的用户:
loginctl list-users


● 启动耗时
1、systemd 最大的改进在于可以并行地启动系统服务进程,极大地减少了系统引导时间,可以使用 systemd-analyze (等同于 systemctl-analyze time 命令)查看系统启动耗时
[root@localhost ~]# systemd-analyze
Startup finished in 16.225s (kernel) + 2.429s (initrd) + 8.129s (userspace) = 26.784s

2、查看每个服务的启动耗时:
[root@localhost ~]# systemd-analyze blame
          3.591s plymouth-quit-wait.service
          3.169s systemd-udev-settle.service
          1.263s kdump.service
           416ms postfix.service
           360ms lvm2-monitor.service
           342ms dev-mapper-centos\x2droot.device
           330ms network.service
           278ms firewalld.service
           174ms tuned.service
           169ms boot.mount
           164ms libvirtd.service
           148ms accounts-daemon.service
           138ms auditd.service
           118ms abrt-ccpp.service
            .............. 省略内容

———————————————————————————————————

到此结束,感谢浏览~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值