Linux进程管理ps top kill实战
为什么必须掌握进程管理?
服务器运行时,进程就像一个个“小工人”。
有时候某个程序卡死、占用过高 CPU,或者你想查看后台服务是否正常,就需要用到 Linux 进程管理 工具。
ps、top、kill 是最常用的三剑客,学会它们,你就能看懂系统里发生了什么,并且能主动干预。
准备工作:登录服务器与熟悉环境
确保你已通过 SSH 连接到服务器(推荐使用终端工具如 Xshell 或直接使用系统终端)。
登录后,可以先执行 whoami 确认当前用户,再执行 uptime 查看系统运行时间。所有命令均在普通用户下执行,需要 root 权限的命令前会加 sudo。
实战第一步:用 ps 查看当前进程
ps 命令用于静态列出进程快照。
先试试最常用的组合:
ps aux
输出字段包括:
- USER:进程所属用户
- PID:进程 ID(后面 kill 时用)
- %CPU / %MEM:CPU 和内存占用
- VSZ / RSS:虚拟内存 / 物理内存
- STAT:进程状态(R=运行,S=睡眠,Z=僵尸)
- COMMAND:命令名
小技巧:想查看某个程序是否在运行,可以配合 grep:
ps aux | grep nginx
这会过滤出所有包含“nginx”关键字的行,如果看到多个 worker 进程,说明 nginx 已启动。
实战第二步:用 top 实时监控系统负荷
top 是动态刷新工具,直接输入命令:
top
顶部几行显示系统概况:
- load average(1分钟、5分钟、15分钟平均负载)
- Tasks 总数、运行数、睡眠数
- CPU 百分比(us 用户态、sy 内核态、id 空闲)
- Mem 和 Swap 使用情况
常用快捷键:
- 按
1显示每个 CPU 核心 - 按
q退出 - 按
M按内存使用排序 - 按
P按 CPU 使用排序(默认就是) - 按
k输入 PID 后可直接杀死进程(需小心)
在 top 界面中,
你想终止某个进程,
按下 k 键,
输入 PID 回车,
然后输入信号(默认 15 优雅终止),
回车即可。但新手推荐先用 ps 找到 PID 再回到命令行用 kill 命令,
更安全。
实战第三步:用 kill 终止进程
kill 的本质是给进程发送信号。
基本用法:
kill PID # 默认发送 SIGTERM(15),请求进程自行退出
kill -9 PID # 强制杀死 SIGKILL(9),进程无法响应,直接结束
举个例子:假设 ps aux 看到 PID 为 12345 的 Chrome 进程卡死,先尝试:
kill 12345
等几秒后再次 ps aux | grep 12345 检查是否还存在。
如果无效,再使用:
kill -9 12345
重要提示:-9 信号是最后手段,可能会让进程来不及保存数据。
能用 SIGTERM 优先用。
避坑指南:新手最容易犯的错误
- 误 kill 关键系统进程:不要对 PID 为 1 的 init/systemd 进程或未知 PID 随意执行 kill -9。
- SSH 连接进程不要杀:杀死当前 SSH 会话对应的进程会导致自己掉线。
- top 里直接按 k 的风险:如果不小心按了回车并输入了其他 PID,可能造成服务中断。建议先在另一个终端用 ps 确认。
- 僵尸进程处理:STAT 为 Z 的僵尸进程无法用 kill 杀死,需要杀死其父进程或重启系统。
- 权限不足:普通用户无法 kill 其他用户的进程,可以加
sudo kill PID。
效果验证:检查你的操作是否成功
- 查看进程是否消失:
ps aux | grep [进程名]若无结果则已停止。 - 查看系统负载是否下降:执行
top观察 CPU 和内存占用。 - 确认服务是否受影响:比如你 kill 的是 nginx 进程,可运行
systemctl status nginx检查。
总结
通过本文的 Linux 进程管理 ps top kill 实战,你已经学会查看进程、实时监控资源、终止异常进程。
建议在测试环境多练习,熟练后再用到生产服务器。
遇到操作异常时,先回看避坑部分,确认 PID 无误再执行。
掌握了这三条命令,你就拥有了管理服务器进程的基本能力。