发布时间:2026/9/3 5:02:26
管理进程与服务 本章重点进程静态/动态查看进程树进程前台后台切换、挂起、终止。Systemd 单元、systemctl全套操作服务开机自启配置。Target 运行级别临时、永久切换。at 一次性任务编辑、查询、删除。crontab 五段时间语法案例配置、常见排错。7.1 Linux 系统引导与进程基础7.1.1 Linux 系统引导完整流程下面用 ASCII 流程图展示从 BIOS/UEFI 到 GRUB2、内核、systemd 的完整引导流程并标注每一步的关键输出或失败点┌─────────────────────────────────────────────────────────────────────┐ │ Linux 系统引导完整流程 │ └─────────────────────────────────────────────────────────────────────┘ [1] 上电 │ ▼ ┌──────────────────────────────┐ │ POST 开机自检 │ │ BIOS/UEFI 检测 CPU/内存/硬盘 │ │ 关键输出硬件自检通过 │ │ 失败点硬件故障 → 主板蜂鸣报警 │ └──────────────────────────────┘ │ ▼ ┌──────────────────────────────┐ │ MBR / ESP 分区引导 │ │ BIOS 模式读 MBR 主引导记录 │ │ UEFI 模式读 ESP EFI 分区 │ │ 关键输出找到引导程序 │ │ 失败点MBR 损坏 → 找不到启动设备│ └──────────────────────────────┘ │ ▼ ┌──────────────────────────────┐ │ GRUB2 引导 │ │ 选择内核版本加载 vmlinuz │ │ 加载 initramfs 驱动镜像 │ │ 关键输出内核镜像加载完成 │ │ 失败点内核镜像缺失 → 引导失败 │ └──────────────────────────────┘ │ ▼ ┌──────────────────────────────┐ │ 内核初始化 │ │ 识别硬件挂载根文件系统 / │ │ 关键输出根文件系统挂载成功 │ │ 失败点根分区损坏 → 内核 panic │ └──────────────────────────────┘ │ ▼ ┌──────────────────────────────┐ │ systemd (PID1) 初始化 │ │ 根据 Target 启动各类系统服务 │ │ 关键输出登录界面出现 │ │ 失败点PID1 崩溃 → 系统崩溃 │ └──────────────────────────────┘ │ ▼ 登录界面个人理解机器上电到登录界面一整套流水线每一步失败都会导致开不了机。BIOS/UEFI→GRUB2→内核→systemd (PID1)。POST 开机自检BIOS/UEFI 检测 CPU、内存、硬盘硬件根据启动顺序移交控制权。硬件故障会主板蜂鸣报警。MBR / ESP 分区引导BIOS 模式读取硬盘 MBR 主引导记录交给 GRUB2 引导程序。MBR 损坏会报找不到启动设备。UEFI 模式读取 ESP EFI 系统分区加载 GRUB2支持大硬盘、安全启动。GRUB2 引导选择内核版本加载vmlinuz内核镜像、initramfs驱动镜像把权限交给 Linux 内核。内核初始化识别硬件挂载根文件系统/启动systemd。systemd (PID1) 初始化PID1 是所有进程的始祖进程不能 kill杀掉直接系统崩溃。根据 Target 目标启动各类系统服务最后给到登录界面。7.1.2 Systemd 核心体系与进程标识PID、PPIDPID进程唯一数字 ID操作进程靠 PID。PPID父进程 ID进程由父进程 fork 创建。孤儿进程父进程提前退出子进程会被 PID1 的 systemd 收养。Systemd Unit 单元systemd 把系统资源抽象成不同单元配置文件存放两处/usr/lib/systemd/system系统自带单元不要手动改/etc/systemd/system管理员自定义单元优先级更高表格单元类型后缀作用示例Service.service管理后台服务进程sshd.serviceSocket.socket进程间通信套接字sshd.socketMount.mount管理挂载点/home.mountTarget.target一组单元集合代表系统运行状态multi‑user.targetTimer.timer定时器单元替代 cronchronyd.timerTarget 和传统运行级别对应个人理解Target 就是 Systemd 新版 “运行级别”兼容老 SysVinit 数字级别。表格传统级别systemd target含义0poweroff.target关机1rescue.target单用户救援模式排错2/3/4multi‑user.target字符多用户服务器生产环境无图形5graphical.target图形桌面模式6reboot.target重启7.1.3 进程查看静态快照与动态监控ps静态快照某一瞬间进程状态不会自动刷新ps auxBSD 风格看用户、CPU、内存 PID经常搭配管道|grep 进程名ps -elfSystemV 风格会显示 PPID 父进程适合分析进程父子关系ps aux关键字段表格字段说明排错关注点USER哪个用户启动进程排查异常非法进程PID进程 IDkill 操作的标识%CPUCPU 占用百分比查 CPU 飙高进程%MEM内存占比内存泄漏RSS实际物理内存 KB真实占用内存TTY终端?代表后台守护进程无终端pts 远程 ssh 终端STAT进程状态R 运行S 休眠Z 僵尸进程Z 僵尸进程要处理COMMAND启动命令识别恶意伪装进程top动态实时监控Linux 任务管理器默认 3 秒刷新顶部五大块信息系统运行时间 负载、进程统计、CPU、内存 Mem、交换分区 Swap。load average1 分钟、5 分钟、15 分钟系统负载超过 CPU 核心数代表压力大。 wa 值高代表 IO 磁盘瓶颈swap 持续使用代表物理内存不够。top 交互快捷键表格按键功能P按 CPU 降序排序M按内存降序排序k输入 PID 杀死进程q退出 toppgrep专门过滤 PID不会产生多余 grep 进程pgrep -l sshd #‑l同时输出PID进程名 pgrep -l -U nginx #看nginx用户所有进程pstree进程树看父子关系pstree -p #显示PID最常用 pstree -ap root7.1.4 进程控制启动、挂起、终止前台 后台启动前台直接敲命令占用终端命令执行完才能输入下一条。后台命令末尾加放到后台跑释放终端适合耗时任务。输出[1] 23451 是任务号2345 是 PID。cp /dev/cdrom myiso.iso 任务调度只对当前终端内的后台任务生效CtrlZ把正在前台运行的进程挂起停止放后台暂停jobs -l查看本终端后台任务列表任务号、PID、状态bg 任务号挂起任务放到后台继续运行fg 任务号把后台任务切回前台⚠️注意jobs 只能看当前终端的任务换一个 ssh 终端看不到别的终端 jobs 任务。进程终止信号优先正常终止尽量少用‑9强制杀强制杀可能丢数据、损坏文件。表格方式说明CtrlC终止前台正在运行进程kill PID发送 15 SIGTERM正常结束程序自己清理资源退出kill -9 PIDSIGKILL 强制杀死程序没有机会收尾万不得已才用killall 进程名按进程名批量杀进程pkill -U 用户名杀掉该用户全部进程处理恶意账号7.2 Systemd 服务控制与启动过程优化服务 常驻后台的守护进程sshd、crondsystemctl 统一管理.service 单元。7.2.1 systemctl 核心操作.service后缀可以省略systemctl start sshd等价sshd.service表格命令功能使用场景systemctl start xxx启动服务服务没运行systemctl stop xxx停止服务关闭业务systemctl restart xxx重启服务先 stop 再 start服务会中断改配置后服务不支持 reload 时用systemctl reload xxx重载配置不中断进程支持 reload 的服务优先选生产少中断业务systemctl status xxx查看状态日志排错最重要看是否 active (running)看报错systemctl enable xxx设置开机自启核心业务systemctl disable xxx关闭开机自启不需要开机启动的服务systemctl is‑enabled xxx查询是否开机自启验证配置个人经验生产环境优先 reload只有 reload 无效才 restart避免业务断开。status 会打印报错排错第一看 status。7.2.2 Target 运行级别切换查看runlevel #看旧版运行级别数字 systemctl get‑default #查看开机默认target临时切换重启失效init 3 #切换字符界面 multi‑user.target systemctl isolate multi‑user.target init 5 #图形界面 graphical.target init 0 #关机 init 6 #重启永久切换重启生效systemctl set‑default multi‑user.target #服务器默认字符界面7.2.3 开机服务裁剪优化服务器很多服务默认开机启动很多业务用不上关掉可以节省内存加快开机。核心服务必须 enablesshd、crond、rsyslog、network、lvm2‑monitor非生产服务bluetooth 蓝牙、atd、kdump、vsftpdstopdisable 关掉。操作工具ntsysv字符交互式界面空格勾选开机启动适合批量修改。systemctl stop / disable命令行逐条操作。查看所有单元状态systemctl list‑units --typeservice #当前正在运行的服务 systemctl list‑unit‑files --typeservice #所有服务开机自启状态 enabled/disabled7.3 计划任务管理自动化运维两类at 一次性任务crontab 周期性重复任务。7.3.1 at一次性计划任务只执行一次依赖atd服务服务没启动任务不会跑。dnf install at systemctl start atd systemctl enable atd设置任务at 时间进入at交互输入多条命令CtrlD 提交任务at 15:30 2025‑05‑10 at df -h /tmp/disk.log at EOT #CtrlD管理 at 任务atq #查看未执行的at任务输出任务编号 atrm 1 #删除任务编号1的任务任务输出默认发送到用户系统邮箱/var/spool/mail/用户名建议重定向输出到日志文件。7.3.2 crontab周期性计划任务生产高频依赖 crond 服务系统默认开机启动。crond 监控配置文件修改任务不需要重启服务自动生效。crontab 配置分类用户级crontab -e编辑文件存放在/var/spool/cron/用户名每个用户独立任务。系统级/etc/crontab、/etc/cron.d/*管理员系统任务不建议普通用户直接修改。crontab 命令选项表格选项作用crontab -e编辑当前用户定时任务vi 编辑器crontab -l列出当前用户任务crontab -r清空当前用户全部定时任务crontab -u 用户名root 管理别的用户的任务五段时间语法分 时 日 月 周 命令* * * * * 绝对路径命令/脚本表格字段范围特殊符号分钟0‑59*任意‑连续,离散*/n间隔 n小时0‑23同上日期1‑31同上月份1‑12同上星期0‑70 和 7 都代表周日日期和星期是或关系满足其一就执行⚠️大坑crontab 环境变量和登录 shell 不一样命令必须写绝对路径尽量写脚本脚本内部全部使用绝对路径。示例#每天凌晨4点02分执行脚本 02 4 * * * /root/daily_backup.sh #每周六7点30分重启httpd 30 7 * * 6 /usr/bin/systemctl restart httpd #每5分钟执行 */5 * * * * /usr/bin/df -h /tmp/diskstat.log常见故障排错任务没执行命令用了相对路径用 which 拿到命令绝对路径填入crond 服务没启动输出没写日志误以为没跑把输出重定向日志 /xxx/cron.log 21。任务每分钟跑分钟字段写了*忘记指定具体分钟。脚本手动跑正常cron 跑失败脚本缺少环境变量脚本开头source /etc/profile加载系统环境。本章总结系统启动流程BIOS/UEFI → GRUB2 → 内核 → systemd (PID1 始祖进程)。PID1 不能 kill。进程查看ps 静态快照top 动态监控pgrep 查 PIDpstree 看进程树。进程前台后台后台运行CtrlZ挂起jobs/bg/fg任务调度kill 优先 15 正常终止‑9强制杀死慎用。systemctl 管理 service 服务start/stop/restart/reload/status/enable/disablereload 尽量代替 restart 减少业务中断。Target 替代传统运行级别临时切换systemctl isolate永久切换systemctl set‑default multi‑user.target服务器一般默认字符界面。开机服务裁剪关闭不需要的服务节约资源。at 一次性定时任务依赖 atdat编辑atq查看atrm删除。crontab 周期性任务五段时间语法命令必须绝对路径日期星期逻辑是或常见排错点。高频命令速查表进程管理表格命令功能ps aux静态查看全部进程ps -elf看 PPID 父进程top动态监控资源pgrep -l 进程名获取 PIDpstree -p进程树带 PIDjobs -l当前终端后台任务bg %1后台恢复挂起任务fg %1切回前台kill PID正常终止进程kill -9 PID强制杀死进程killall 进程名按名字批量杀进程systemctl 服务管理表格命令功能systemctl start/stop/restart/reload xxx服务启停重载systemctl status xxx查看服务状态排错systemctl enable/disable xxx开机自启开关systemctl get‑default查看默认 targetsystemctl set‑default multi‑user.target永久字符界面ntsysv交互式配置开机自启服务计划任务表格命令功能at HH:MM YYYY‑MM‑DD创建一次性任务CtrlD 提交atq查看 at 任务atrm 任务编号删除 at 任务crontab -e编辑用户周期任务crontab -l列出任务crontab -r清空当前用户全部 crontab 任务

相关新闻

2026/9/3 5:02:26

医疗AI多智能体系统:LangGraph架构与RAG知识库实战

那天晚上,团队里一位刚入行的开发同事跑来问我:“哥,我们想用AI大模型做个医疗问答系统,但模型总把药品副作用说错,这要是上线了会出人事故的。到底该怎么让AI靠谱地掌握专业知识?”这个问题戳中了当前AI落…

2026/9/3 5:02:26

AI数据中心电力自给:燃气轮机叶片铸造与供电供应链解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 5:02:26

transcribe.cpp:基于ggml的轻量级本地语音识别解决方案

如果你正在寻找一个轻量级、高效的语音转文字工具,特别是希望在本地环境运行而不依赖云端服务,那么 transcribe.cpp 可能正是你需要的解决方案。这个基于 C/C 的开源项目,利用 ggml 库和 GGUF 模型格式,在保持高精度的同时&#x…

2026/9/3 5:12:26

WinForm嵌入ECharts实战:WebView2数据管道与性能调优

简介:本资源是一套面向.NET桌面开发者的WinForm与ECharts深度集成实践项目,解决传统WinForm应用缺乏动态数据可视化能力的痛点,适用于需在本地客户端中嵌入交互式图表的中高级开发者。压缩包共39个文件,包含7个核心C#源码文件&…

2026/9/3 5:12:26

Aspen Plus甲苯加氢脱烷基化制苯工艺流程模拟实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 5:12:26

Python官方文档PDF生成原理与中文适配实践

简介:本资源为Python 3.9.6官方中文文档全集PDF版,面向Python初学者、中级开发者及系统集成工程师,提供权威、完整、可离线查阅的语言参考与标准库使用指南。内容覆盖入门教程、语言核心语法、内置函数与类型、标准库模块详解、Python/C API接…

2026/9/3 5:07:26

AI+测试(二、知识库——RAGFlow)

目标想给部门做一个知识库,放入测试/其他的资料,之后问AI时,可以准确性高一点,毕竟现在的业务太难了,学不完根本学不完,还学不会。希望做完知识库可以学的快一点。当然,也希望在做AI测试时&…

2026/9/1 16:02:17

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/9/2 9:00:32

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/9/2 8:41:06

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/9/3 0:02:06

零基础装 OpenClaw 小龙虾 AI:Windows 一键部署教程与避坑要点

Windows 部署 OpenClaw 完整教程|本地 AI 智能体 5 分钟落地,环境配置一次搞定 版本说明:Windows 3.1.0 / Mac 2.7.9 写在前面 近两年开源 AI 领域有一款被称作「数字员工」的工具持续走热,它就是 OpenClaw,圈内人更习…

2026/9/3 0:02:06

Hermes Agent 本地部署新方案:Windows 整合包减少依赖报错

Windows 本地部署 Hermes 太麻烦?这版一键包 5 分钟快速跑通 很多人想体验 Hermes Agent,但真正开始部署时,往往会卡在环境配置这一步。 需要安装各类依赖、调试运行环境、处理路径问题,还容易遇到命令行报错、系统拦截、文件缺…

2026/9/3 0:02:06

实测 OpenClaw 一键包,5 分钟完成本地自动化环境搭建

OpenClaw 本地 AI 自动化工具部署指南|使用一键包规避环境配置难题 痛点:部署 AI 自动化工具常常要处理 Python、Node.js 各类依赖,版本冲突、环境配置耗费大量时间,OpenClaw 提供一键安装包,降低部署门槛。 适配系统&…

2026/9/2 1:15:22

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/2 1:15:22

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/2 1:15:20

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…