Linux 进程管理:ps、top 与 kill 📅 发布时间:2026/8/30 9:14:08 👁 浏览次数: 文章目录1. 进程的基础概念2. 查看静态进程快照ps (Process Status)2.1 常用参数组合1. ps auxBSD 风格最常用2. ps -efSystem V 风格2.2 生产案例结合 grep 查找特定服务3. 实时动态监控top (系统任务管理器)3.1 top 界面上半部分系统整体健康度3.2 top 快捷交互按键进入 top 后直接敲击4. 终止与管理进程kill / killall / pkill4.1 核心信号类型4.2 实操案例5. 综合排查实战CPU 爆满排查步骤6. 总结在 Linux 操作系统中进程Process是正在运行的程序的实例。无论是系统后台运行的服务如 Nginx、MySQL还是你执行的命令行脚本都以进程的形式存在。掌握进程管理是排查服务器卡顿、处理 CPU/内存爆满、以及安全停止异常服务的必备基本功。本文将聚焦三大核心命令查看静态快照的ps、实时监控状态的top以及终止进程的kill。1. 进程的基础概念在深入命令前先了解几个核心术语PIDProcess ID系统分配给每个进程的唯一数字标识符。PPIDParent Process ID父进程 ID。除了init/systemdPID 1外所有进程都由另一个进程衍生。进程状态R (Running)正在运行或在运行队列中等待。S (Sleeping)休眠状态等待某个事件或信号唤醒。Z (Zombie)僵尸进程。子进程已结束但父进程尚未回收其状态信息仍占用进程表位置。2. 查看静态进程快照ps(Process Status)ps命令用于捕获当前时间节点的进程状态快照。2.1 常用参数组合在实际工作中最常用的组合有两个1.ps auxBSD 风格最常用a显示所有终端下的进程包括其他用户的进程。u以用户为主的格式显示详细信息包含 CPU、内存占用等。x显示没有控制终端的后台进程如系统后台服务。psaux|head-n5# 输出列解析# USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND# root 1 0.0 0.1 168128 9640 ? Ss Aug27 0:05 /sbin/init**%CPU/%MEM**占用 CPU 和物理内存的百分比。RSS实际使用的物理内存大小单位 KB。STAT进程状态S休眠,s包含子进程,高优先级等。2.ps -efSystem V 风格-e显示所有进程。-f全格式显示主要用于查看父进程PPID追溯源头。2.2 生产案例结合grep查找特定服务# 查看 Node.js 相关的运行进程psaux|grepnode# 查看端口/进程匹配排查 MySQL 进程ps-ef|grepmysql3. 实时动态监控top(系统任务管理器)如果说ps是“拍照”那top就是“录像”。它能实时动态刷新系统的 CPU、内存使用率以及各进程的资源消耗。3.1 top 界面上半部分系统整体健康度top - 10:15:30 up 2 days, 4:20, 1 user, load average: 0.15, 0.20, 0.05 Tasks: 120 total, 1 running, 119 sleeping, 0 stopped, 0 zombie %Cpu(s): 2.3 us, 1.0 sy, 0.0 ni, 96.5 id, 0.2 wa, 0.0 hi, 0.0 si MiB Mem : 7950.0 total, 2150.0 free, 3200.0 used, 2600.0 buff/cacheload average(系统负载)分别表示1 分钟、5 分钟、15 分钟内的平均负载。判断法则数值除以 CPU 核心数。若长期大于 1.0/核说明系统存在排队卡顿。%Cpu(s)us(user)用户进程消耗 CPU 百分比。sy(system)内核/系统进程消耗百分比。wa(iowait)CPU 等待磁盘 I/O 完成的时间。该值过高说明磁盘读写瓶颈严重。zombie僵尸进程数量大于 0 时需关注。3.2 top 快捷交互按键进入 top 后直接敲击在top运行界面中按下以下快捷键可快速分析问题快捷键作用P按照CPU 占用率从高到低排序默认M按照内存占用率 (MEM)从高到低排序N按照PID排序1展开/折叠显示每个 CPU 核心的独立占用情况k在 top 内部直接结束某个进程输入 PID 后回车q退出 top 界面进阶替代品在现代服务器中通常会使用界面更美观、支持鼠标交互的htop需要通过apt install htop或yum install htop安装。4. 终止与管理进程kill/killall/pkill当进程卡死、死循环或需要优雅重启时我们使用kill相关的工具发送信号Signal给进程。4.1 核心信号类型使用kill -l可以查看所有信号最核心的三种信号如下信号编号信号名称作用与含义15SIGTERM(默认)软件终止信号。通知进程“请平滑关闭”进程会先保存数据、释放资源再退出。9SIGKILL无条件强制杀进程。系统内核直接回收资源进程无法拦截或拒绝可能引发数据丢失。1SIGHUP挂起/重载信号。常用于让服务在不重启的情况下平滑重新加载配置文件。4.2 实操案例实操案例 1优雅关闭与强制关闭# 1. 查找应用进程 PIDpsaux|grepmyapp# 假设找到 PID 为 12345# 2. 优先尝试优雅关闭 (SIGTERM)kill12345# 3. 如果进程无响应使用强制杀进程 (SIGKILL)kill-912345实操案例 2按名称批量杀死进程 (pkill/killall)# 1. 杀死名字为 nginx 的所有进程killallnginx# 2. 根据进程名模糊匹配并杀死如杀死所有带有 node 关键字的进程pkill-fnode# 3. 踢出某个指定终端的用户pkill-ualex5. 综合排查实战CPU 爆满排查步骤当收到报警提醒服务器 CPU 使用率达到 100% 时标准排查流程如下定位问题进程输入top按下P键找出占用 CPU 最高进程的PID假设为8888。确认进程身份通过ps aux | grep 8888查看该进程对应的完整路径与启动参数。深入线程分析可选如果是 Java/Python 等多线程程序执行top -Hp 8888查看具体是哪个子线程占用过高。处理进程如果是正常业务飙高检查日志或配合代码分析。如果是异常死循环或恶意挖矿程序使用kill -9 8888强制终止。6. 总结工具/命令核心定位典型使用场景**ps aux/ps -ef**静态快照结合grep快速精准定位某个具体进程的 PID 和启动路径top动态监控排查 CPU 爆满、内存泄露、系统高负载查看load averagekill -15优雅停机生产环境首选给程序留出写日志、保存缓存的时间kill -9强行斩杀程序卡死或无响应时的最终兜底手段 感谢阅读想了解更多 我的博客网站 | 记录思考分享干货 我的个人主页 | 关于我、开源项目