Linux 有一句经典设计哲学:一切皆文件。
而从运行视角看,所有正在执行的程序,最终都会以进程的形式存在。
终端是进程,Nginx 是进程,数据库是进程,Docker 同样也是进程。
当服务器:
本质问题几乎都和进程有关。
今天介绍 4 个与进程相关的核心工具:
pstophtopkill
一、什么是进程?
更准确的定义是:
进程 = 程序的一次运行实例
它可能处于:
等多种状态。
例如:
ls
系统会:
而 Nginx、MySQL 这类服务:
称为常驻进程。
二、ps —— 查看进程静态快照
ps(process status)
它查看的是:
执行命令瞬间,系统中所有进程的静态快照。
常用命令
查看所有进程
ps aux
字段解释:
常见 STAT 状态
僵尸进程(Z):
子进程已结束,但父进程未回收资源。
三、zsh 踩坑:grep [n]ginx 报错
很多教程写:
ps aux | grep [n]ginx
但在 zsh 下会报:
zsh: no matches found
原因:
zsh 会把 [n] 当成文件通配符(glob)。
若当前目录没有匹配文件,就报错。
正确写法(zsh 环境)
ps aux | grep "[n]ginx"
或:
pgrep -a nginx
现代运维更推荐:
pgrep
而不是依赖 grep 技巧。
四、top —— 实时监控进程
服务器异常第一步:
top
1️⃣ load average
load average: 1.20 0.85 0.60
分别代表:
- 1 分钟、5 分钟、15 分钟的平均等待 + 运行进程数
1.20:过去 1 分钟,你的 Linux 系统里「等待 CPU 运行 + 正在 CPU 上运行」的进程平均有 1.2 个;0.850.60
单核 CPU
单核 CPU:load ≈ 1 → 基本满负载
多核 CPU
多核 CPU:load ≈ 核心数 → 整体满负载
例如:
- 负载 2.0 = 使用 50%注意:load 高于核心数 ≠ 一定卡死,要看是 CPU 繁忙还是 IO 阻塞
2️⃣ CPU 使用率
id 越低,说明 CPU 越忙。
3️⃣ 内存
关注:
五、htop —— 更友好的监控工具
安装(CentOS Stream):
dnf install htop -y # 需 root 权限
非 root:
sudo dnf install htop -y
运行:
htop
支持:
六、kill —— 终止进程
kill PID
默认发送:
SIGTERM (15)
这是优雅终止:
进程收到信号后,会尝试清理资源(关闭文件、释放连接)再退出。
常见信号
不要随便 kill -9
kill -9 PID
正确顺序:
七、标准排查流程
服务器变慢时:
第一步
top
第二步
记录异常 PID
第三步
ps -fp PID
确认进程来源。
第四步(重要)
确认是否为非核心进程。
不要误杀:
第五步
优雅终止:
kill PID
八、必须理解的核心
1️⃣ 进程有 PID2️⃣ 存在父子关系3️⃣ 若服务由 systemd 管理且开启了自动重启策略,被 kill 后可能自动重启4️⃣ kill 本质是发送信号
九、四个命令定位
一句话总结:
ps 看全局,top 看动态,kill 做决策。
结论
掌握进程管理,是从:
“会用 Linux”
到
“会维护 Linux”
的第一步。
[具体工具详细使用会在后续文章中更新]
文 / 零距技术仓记录每一次真实的折腾 (#^.^#)🚀 想看到更多实用折腾技巧?👉 先关注💬 评论区说说你的经历或想看的内容👍 点赞表示支持🔁 顺手分享给也在折腾的人,让大家都少踩坑 😎