Linux 引导过程与服务控制

目录

Linux操作系统的引导过程

init进程

进程启动方式

Linux系统的运行级别

服务管理操作

systemctl

service

服务开机自启管理

ntsysv

Linux操作系统的引导过程

  1. 开机自检:检测硬件设备,找到能够引导系统的设备,比如硬盘
  2. MBR引导:运行MBR扇区里的主引导程序GRUB
  3. 启动GRUB菜单:系统读取GRUB配置文件(/boot/grub2/grub.cfg)获取内核的设置和位置,并在屏幕显示GRUB菜单页面
  4. 加载Linux内核:把内核加载到内存,将系统控制权交接给内核
  5. init进程初始化:内核将init进程加载到内存中运行,并把init进程作为系统的第一个进程
  6. 系统初始化:启动内核模块,执行运行级别的启动脚本,执行/etc/rc.d/rc.local文件里的命令等

init进程

init进程:文件位于 /sbin/init -> /lib/systemd/systemd  ,init进程PID号固定为 1 ,是系统中其它所有进程的父进程

进程启动方式

centos7开始的版本默认的启动方式是 systemd,开机服务程序为并行启动,启动效率较快


centos6及以前版本的启动方式是 sysVinit,开机服务程序是通过串行执行/etc/init.d/目录下的shell脚本启动的,容易阻塞,启动效率较慢

Linux系统的运行级别

运行级别功能对应的systemd单元切换
0关机poweroff.targetinit 0systemctl isolate poweroff.target
1单用户模式rescue.targetinit 1systemctl isolate rescue.target
2字符界面的多用户模式(无网络)multi-user.targetinit 3systemctl isolate multi-user.target
3字符界面的多用户模式(完整的,有网络)multi-user.target
4字符界面的多用户模式(保留)multi-user.target
5图形界面的多用户模式graphical.targetinit 5systemctl isolate graphical.target
6重启reboot.targetinit 6systemctl isolate reboot.target

服务管理操作

systemctl

systemctl 是 Linux 系统服务管理工具 systemd 的主命令,用于控制系统服务。systemd 是 Linux 系统和服务管理器,它提供了强大的功能来启动、停止、重启、重载系统服务,以及管理系统运行级别。

systemctl start 服务名[.service]        #查看状态

systemctl stop 服务名[.service]        #停止服务

systemctl restart 服务名[.service]        #重启服务

systemctl reload 服务名[.service]        #重载服务配置,当服务的配置文件被修改后,可以使用此命令重新加载配置,而无需重启服务。

systemctl status 服务名[.service]        #显示指定服务的当前状态,包括是否正在运行、最近一次启动或停止的时间等

systemctl is-active 服务名[.service]     #查看服务是否活动,用于检查一个或多个服务单元(unit)的当前活动状态。这个命令不会输出详细的服务状态信息,而是返回一个简短的字符串,表明服务是否处于活动状态。

#要确保在 /usr/lib/systemd/system/ 目录中有相关服务的 XXX.service 文件

service

service 命令用于管理系统服务。它是许多 Linux 发行版中传统 init 系统(如 SysVinit)的一部分,用于启动、停止、重启、查询服务状态等。然而,随着 systemd 的普及,许多现代的 Linux 发行版已经转向使用 systemctl 作为主要的服务管理工具。尽管如此,service 命令在一些旧的系统或特定的发行版中仍然可用。

service 服务名 start        #启动服务

service 服务名 stop        #停止服务

service 服务名 restart        #重启服务

service 服务名 reload        #重载服务配置

service 服务名 status        #查询服务状态

#要确保在 /etc/init.d/ 目录中有相关服务的管理脚本文件(需要可执行权限)

服务开机自启管理

systemctl enable|disable [--now] 服务名[.service]       # --now选项可实现立即开启|关闭服务
systemctl is-enabled 服务名[.service]                    #查看服务是否开机自启

ntsysv

ntsysv    #图形化管理开机自启

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值