管理进程与服务

发布时间:2026/10/19 9:22:12

管理进程与服务 本章重点进程静态/动态查看进程树进程前台后台切换、挂起、终止。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/10/19 9:20:55

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

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

2026/10/18 11:45:51

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

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

2026/10/17 11:13:35

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

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

2026/10/19 9:21:06

用Coze搭建网站智能助手:从知识库配置到API接入实战

很多站长都遇到过这样的尴尬:网站内容明明很丰富,但访客进来后找不到想要的资料,转两圈就走了。客服不在线的时候,潜在客户的问题没人答,眼睁睁看着流量白白流失。我自己的几个站点也踩过这个坑,后来尝试在…

2026/10/19 9:21:06

Agent框架重构与RAG优化实战:从大函数到可扩展系统

1. 为什么要把 Agent 框架重构提上日程写这个系列到第五篇,前面四篇已经把 Agent 的核心链路、工具调用、提示词组织、以及最基础的 RAG 流程都跑通了。很多读者私信我,说按着文章抄作业,demo 确实能跑起来,但一往真实场景里推就卡…

2026/10/19 9:21:06

HCP-MMP1.0掩码提取:用Matlab脚本按区域名生成对齐ROI mask

简介:面向神经影像与fMRI数据分析人员的开源MATLAB实用工具,基于HCP-MMP1.0脑区图谱,可快速提取指定脑区的体积二值掩码文件。针对需要自定义ROI进行后续静息态或任务态分析的科研场景,可省略手动逐体素勾画区域的大量重复操作&am…

2026/10/19 9:21:06

YOLO26小缺陷检测升级:C3k2-EIEM融合边缘与空间特征

做工业质检目标检测的朋友,八成都被“小缺陷漏检”折磨过。这期是我在YOLO26上持续优化迭代的第33个版本,核心改动是把主干中的C3k2模块升级为“C3k2-EIEM”融合结构,在保留原有检测效率的前提下,把边缘特征和空间信息同时塞进特征…

2026/10/19 9:15:58

海康WebControl插件接入RTSP视频流的网页实时播放方案

1. 项目背景与核心问题拆解1.1 为什么需要WEB播放器方案先说结论:如果你要在网页里实时播放海康摄像头的RTSP视频流,直接用HTML5的video标签是行不通的。原因很简单,主流浏览器早就放弃了RTSP协议的原生支持,再加上H.264编码的视频…

2026/10/18 0:01:50

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/19 0:04:56

悟空开源无代码平台实战:从实体建模到应用设计避坑指南

简介:基于悟空开源无代码平台的多种应用设计源码,面向希望在不编写代码的情况下快速搭建CRM、HRM、财务系统、ERP、SRM等业务应用的企业与技术人员,通过拖放式界面和内置模板即可完成应用定制与部署。压缩包共697个文件,约10.74MB…

2026/10/19 0:04:56

基于.NET9的多租户权限系统:数据权限与动态API落地实践

简介:这份资源是一套面向 .NET 与 Vue 全栈开发者的中台权限管理系统,后端基于 .Net9,前端采用 Vue3 Element Plus,并配套 uniapp uviewui 移动端方案,实现前后端分离。系统覆盖多租户隔离、数据权限、动态 Api、任务…

2026/10/19 0:04:56

场地预约小程序毕设实战:SSM+微信小程序+MySQL数据库设计到避坑

简介:面向毕业设计场景的场地预约小程序完整项目,基于微信小程序SSMMySql技术栈开发,适合计算机相关专业学生作为选题参考、功能扩展或二次开发起点。系统实现场地类型管理、场地管理、预约管理、取消申请与押金退回等功能,分为管…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑