在Linux系统中,查看进程是系统管理和故障排查的基础操作,掌握相关命令能帮助用户高效监控进程状态、资源占用及父子关系,以下将详细介绍Linux中查看进程的常用命令及其使用方法。
ps
命令是最基础的进程查看工具,用于显示当前进程的静态快照,其常用选项包括-ef
(显示所有进程,完整格式)和aux
(显示所有进程,以用户为中心)。ps -ef
会输出进程ID(PID)、父进程ID(PPID)、CPU占用、内存占用、启动命令等列,其中UID
表示进程所有者,CMD
为启动命令;而ps aux
则会额外显示USER
(用户)、%CPU
(CPU占用百分比)、%MEM
(内存占用百分比)等列,方便快速定位资源消耗大的进程,若需实时更新,可结合watch
命令,如watch -n 1 ps aux
,每秒刷新一次进程列表。
top
命令以动态交互方式展示进程信息,默认按CPU占用降序排列,其界面分为两部分:上部显示系统整体状态(如运行中进程数、CPU负载、内存使用情况),下部为进程列表,在top
界面中,可通过按键交互操作,如按M
按内存占用排序、按P
按CPU排序、按k
终止指定进程(需输入PID)、按q
退出。top
还支持排序字段自定义(如按PID、启动时间等),适合实时监控进程资源变化。
htop
是top
的增强版,提供更友好的交互界面(如彩色显示、树状结构、鼠标操作等),安装后直接输入htop
,即可看到按CPU核数分组的实时负载,进程列表支持垂直/水平滚动,通过F5
可展开进程树(查看父子进程关系),F6
可选择排序字段,操作直观便捷,适合需要详细分析进程场景的用户。
若需通过进程名查找PID,pgrep
命令更为高效。pgrep -f "nginx"
会查找命令中包含”nginx”的所有进程的PID,结合kill
可直接终止进程,如kill $(pgrep -f "nginx")
,而pkill
则进一步简化,可直接通过进程名终止进程,如pkill nginx
。
pstree
命令以树状结构展示进程间的父子关系,默认以进程名显示,使用-p
选项可显示PID,如pstree -p
,能清晰看到init/systemd进程及其子进程层级,适合分析系统启动流程或进程依赖关系。
lsof
(list open files)用于查看进程打开的文件,包括普通文件、网络连接、设备文件等。lsof -i :80
可查看占用80端口的进程,lsof -p PID
可查看指定PID打开的所有文件,常用于排查端口占用或文件句柄泄漏问题。
在终端作业管理中,jobs
命令用于查看后台任务,如jobs -l
会显示任务ID、PID及状态(运行中/停止/终止);bg %任务ID
可将停止的任务转为后台运行,fg %任务ID
则将后台任务调至前台。
为方便快速对比,常用查看进程命令的总结如下:
命令 | 功能描述 | 常用选项 | 示例用法 |
---|---|---|---|
ps | 静态查看进程快照 | aux, -ef, -l | ps aux |
top | 动态实时监控进程 | -d(刷新间隔), -p(指定PID) | top -d 2 |
htop | top增强版,交互友好 | -u(指定用户), -p(指定PID) | htop -u root |
pgrep | 按名称/属性查找PID | -f(匹配完整命令), -l(显示进程名) | pgrep -f nginx |
pstree | 树状显示进程关系 | -p(显示PID), -u(显示用户) | pstree -p |
lsof | 查看进程打开的文件 | -i(网络端口), -p(指定PID) | lsof -i :8080 |
jobs | 查看终端后台任务 | -l(显示PID), -r(运行中任务) | jobs -l |
相关问答FAQs
Q1:top和htop有什么区别?如何选择使用?
A:top是Linux系统自带的进程监控工具,功能基础,仅支持键盘交互,界面简洁;htop为第三方工具(需安装,如apt install htop
或yum install htop
),支持彩色显示、鼠标操作、进程树展开、排序字段自定义等,交互更友好,若需快速查看资源占用,top足够;若需详细分析进程关系或长期监控,推荐使用htop。
Q2:如何找到占用CPU最高的进程并终止它?
A:使用top
命令后,按P
键按CPU占用降序排列,顶部即为CPU占用最高的进程,记录其PID;或通过ps aux --sort=-%cpu | head -2
直接获取CPU占用最高的进程(第一行为表头),终止进程时,先用kill PID
尝试正常终止,若无响应再用kill -9 PID
强制终止(可能导致数据丢失,慎用)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/35711.html