Linux进程管理不用愁!这6个工具帮你搞定90%场景

电子说

1.4w人已加入

描述

 

 

 Linux 系统中,进程是资源分配的基本单位,无论是服务器运维、程序调试还是日常使用,掌握进程管理工具都是必备技能。今天就带大家梳理 个最常用的进程管理工具,从查看进程到控制进程,一篇文章全搞定!

 

 

一、ps:静态查看进程的 "快照神器"

 

功能定位psProcess Status)是最基础的进程查看工具,能生成当前进程的 "静态快照",适合快速了解系统进程概况。

 

 

核心用法

 

 

ps aux:查看所有用户的进程(最常用)

Linux

 

 

 

  •  
ps aux | grep nginx

a:显示所有用户的进程

 

 

u:显示进程所属用户、CPU / 内存占用等详细信息

 

 

x:显示无终端(后台运行)的进程

 

 

示例:查看 nginx 进程状态

 

 

ps -ef:以 "父进程子进程的层级关系显示进程

 

 

示例:查看进程 PID(第二列)和父进程 PPID(第三列)

 

 

ps -ef | grep java

 

 

适用场景:快速定位某个进程是否在运行、查看进程的资源占用和所属用户。

 

 

二、top:实时监控进程的 "仪表盘"

 

功能定位top 是动态进程监控工具,能实时刷新进程状态(默认 秒 次),适合跟踪进程资源占用变化。

Linux

核心操作

 

 

1.启动 top:直接输入top命令,界面分为两部分:

 

 

顶部:系统整体信息(CPU 使用率、内存占用、进程总数)

 

 

底部:进程列表(默认按 CPU 使用率排序)

 

 

1.常用交互快捷键:

 

 

P:按 CPU 使用率降序排序(找 "吃 CPU" 的进程)

 

 

M:按内存使用率降序排序(找 "吃内存的进程)

 

 

k:输入进程 PID,发送信号终止进程(无需单独用 kill

 

 

q:退出 top

 

 

适用场景:服务器卡顿、程序无响应时,快速定位高资源占用进程。

 

 

三、htoptop 的 "增强版颜值担当"

 

功能定位htop 是 top 的升级版,界面更友好、操作更直观,还支持鼠标交互,新手优先推荐!

Linux

优势特性

 

 

彩色显示:不同类型进程用不同颜色区分(如系统进程、用户进程)

 

 

支持鼠标:直接点击表头排序(CPU、内存列)、点击进程选择操作

 

 

功能更全:自带进程树视图、快速杀死进程按钮

 

 

安装与使用

 

 

安装(以 CentOS 为例):yum install -y htop

 

 

启动:直接输入htop,操作和 top 类似,上手无门槛。

 

 

适用场景:习惯可视化操作的用户,或需要更清晰进程分类的场景。

 

 

四、pstree:查看进程树的 "家族图谱"

 

功能定位pstreeProcess Tree)以树形结构显示进程间的父子关系,能清晰看到进程的 "家族脉络"

Linux

核心用法

 

 

pstree:显示简单进程树

 

 

pstree -p:显示进程树并附带 PID(括号内数字)

 

 

示例:查看 nginx 的进程树(了解主进程与工作进程关系)

 

 

pstree -p | grep nginx

 

 

pstree -u:显示进程树并标注所属用户

 

 

适用场景:分析进程间的依赖关系(如查看某个进程的子进程是否正常启动)。

 

 

五、kill:控制进程的 "信号使者"

 

功能定位kill 通过发送信号(Signal)来控制进程,比如停止、重启进程,核心不是 "杀死",而是 "传递指令"

 

 

常用信号与命令

 

 

信号值

 

 

信号名

 

 

作用

 

 

1

 

 

SIGHUP

 

 

重启进程(如 nginx 配置生效)

 

 

9

 

 

SIGKILL

 

 

强制杀死进程(无法抗拒)

 

 

15

 

 

SIGTERM

 

 

优雅停止进程(默认,允许收尾)

 

 

示例:

 

 

优雅停止 PID 为 1234 的 java 进程:kill 1234(默认发送 15 信号)

 

 

强制杀死卡死的进程:kill -9 1234

 

 

重启 nginxkill -1 $(cat /var/run/nginx.pid)(通过 PID 文件获取 PID

 

 

六、pgrep:快速定位进程 PID 的 "搜索利器"

 

功能定位pgrepProcess Grep)能根据进程名、用户等条件快速筛选 PID,避免手动在 ps 结果中 grep

 

 

核心用法

 

 

pgrep nginx:直接返回所有 nginx 进程的 PID

 

 

pgrep -u root java:查找 root 用户运行的 java 进程 PID

 

 

pgrep -l nginx:返回 PID + 进程名(更直观)

 

 

示例:结合 kill 快速杀死进程

 

 

kill -9 $(pgrep nginx)  批量强制杀死所有nginx进程

 

 

实用组合技巧:1+1>2

 

1.实时跟踪特定进程:用 top 过滤进程

 

 

top -p $(pgrep nginx | tr 'n' ',')  只监控nginx进程

 

 

1.查看进程完整命令行ps 结合 PID

 

 

ps -p 1234 -f  查看PID=1234进程的完整启动命令

 

 

1.批量停止同类型进程pgrep+kill

 

 

kill -15 $(pgrep python)  优雅停止所有python进程

 

 

工具选择总结

 

需求场景

 

 

推荐工具

 

 

快速看进程快照

 

 

ps

 

 

实时监控资源

 

 

top/htop

 

 

查进程父子关系

 

 

pstree

 

 

找进程 PID

 

 

pgrep

 

 

控制进程(停 / 启)

 

 

kill

 

 

如果是新手,建议从htop+pgrep+kill组合开始,上手快、效率高;熟悉后再用 ps 和 pstree 满足复杂场景需求。

 

 

你平时用得最多的 Linux 进程管理工具是哪个?有没有私藏的小技巧?欢迎在评论区分享~

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分