鸟哥的私房菜:服务管理与开机流程管理
一、服务管理基础
1.1 程序信号与 kill
命令
在 Linux 操作系统中,信号(signal)作为进程间通信的重要机制,用于实现对程序运行状态的控制。常见的信号类型包括:
SIGHUP(1)
:触发程序重新加载配置文件,在不中断服务的情况下实现配置更新SIGINT(2)
:向进程发送中断请求,功能等同于用户在终端执行Ctrl+C
操作SIGKILL(9)
:强制执行进程终止操作,该信号不可被捕获或忽略SIGTERM(15)
:请求进程正常终止,允许程序执行必要的清理工作SIGSTOP(19)
:暂停进程的执行,等效于终端操作中的Ctrl+Z
kill
命令作为信号发送的核心工具,其语法结构如下:
1 | kill -信号 PID # 向指定进程标识符(PID)发送信号 |
例如,通过执行 kill -1 748
命令,可使 rsyslogd
服务重新加载配置文件,实现动态配置更新。
1.2 systemd
服务管理机制
systemd
作为 Linux 系统的初始化系统,采用创新的服务管理架构,具备以下核心特性:
- 并行化服务启动机制显著提升系统启动效率
- 基于事件驱动的按需启动策略优化系统资源占用
- 内置的依赖解析系统自动处理服务间的依赖关系
其配置文件遵循严格的层级管理规范:
/usr/lib/systemd/system/
:存放系统默认服务配置文件/etc/systemd/system/
:用于管理员自定义服务配置,具有最高优先级
systemd
支持多种单元类型,主要包括:
.service
:用于定义系统服务(如crond.service
).target
:目标单元,用于组织相关服务(如multi-user.target
).socket
:管理套接字相关服务.timer
:实现定时任务功能
1.3 systemctl
命令操作服务
systemctl
作为 systemd
的命令行管理工具,提供了完备的服务生命周期管理功能:
1 | # 服务控制操作 |
以 cups
服务管理为例,执行以下命令序列可实现服务关闭与开机禁用:
1 | systemctl stop cups.service |
1.4 操作界面(target)管理
systemd
通过目标单元(target)实现系统运行模式的抽象管理,常见的系统运行目标包括:
multi-user.target
:纯文本模式的多用户运行级别graphical.target
:图形化界面运行模式rescue.target
:单用户救援模式emergency.target
:紧急故障处理模式
相关管理命令如下:
1 | systemctl get-default # 查询系统默认运行目标 |
1.5 网络服务与端口管理
在网络服务管理领域,通过以下命令可实现端口监听状态的监控:
1 | netstat -tlunp | grep `端口号` # 筛选指定端口的监听状态信息 |
对于服务与端口的关联管理,以 avahi-daemon
服务为例:
1 | systemctl stop avahi-daemon.service # 停止目标服务运行 |
1.6 系统性能优化 - tuned
tuned
作为系统性能优化框架,提供了标准化的性能调优解决方案:
1 | # 配置查询 |
二、开机流程与系统启动
2.1 Linux 开机流程
Linux 系统的启动过程遵循严格的分层架构,具体流程如下:
- 硬件初始化阶段:BIOS/UEFI 固件执行硬件自检,并确定系统启动设备
- 引导加载阶段:
- BIOS 模式下加载主引导记录(MBR)中的
grub2
引导程序 - UEFI 模式下加载 EFI 系统分区中的
grub2
引导程序
- BIOS 模式下加载主引导记录(MBR)中的
- 内核启动阶段:加载内核镜像与
initramfs
初始内存文件系统,完成硬件驱动初始化 systemd
初始化阶段:- 执行
sysinit.target
完成系统基础初始化 - 启动
multi-user.target
下的所有服务单元 - 执行
rc.local
自定义脚本 - 启动用户登录服务
- 执行
2.2 核心模块管理
内核模式作为 Linux 内核的动态扩展机制,其管理操作如下:
1 | # 模块查询 |
2.3 核心参数调整
内核参数的调整可通过以下方式实现:
1 | # 临时调整 |
2.4 grub2
开机管理
grub2
引导程序的配置管理体系包括:
- 主配置文件:
/boot/grub2/grub.cfg
(自动生成,建议避免手动修改) - 环境配置文件:
/etc/default/grub
- 菜单脚本目录:
/etc/grub.d/
常见的配置操作包括:
1 | # 修改默认启动等待时间 |
2.5 开机救援模式
进入系统救援模式的标准流程如下:
- 系统启动时进入
grub
菜单界面 - 选择目标内核后按下
e
键进入编辑模式 - 在
linux
行末尾添加rd.break
参数 - 按下
Ctrl+X
启动系统进入救援环境
在救援模式下,可通过以下命令重建 initramfs
文件系统:
1 | chroot /mnt/sysimage # 切换根目录至原系统 |
三、关键命令总结
3.1 服务管理
命令 | 功能描述 |
---|---|
systemctl start service |
启动指定系统服务 |
systemctl enable service |
设置服务开机自启 |
systemctl status service |
查询服务运行状态 |
kill -9 PID |
强制终止指定进程 |
3.2 开机与内核
命令 | 功能描述 |
---|---|
lsmod |
显示已加载的内核模块 |
modprobe module |
动态加载内核模块 |
sysctl -p |
应用内核参数配置 |
grub2-mkconfig |
生成 grub 配置文件 |
3.3 网络与性能
命令 | 功能描述 |
---|---|
netstat -tlunp |
查看网络端口监听状态 |
tuned-adm apply profile |
应用系统性能优化配置 |
journalctl -u service |
查看指定服务日志信息 |
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.