要查看linux中正在运行的进程,可使用ps和top命令。ps用于查看静态进程信息,常用方式包括ps(当前终端进程)、ps aux(所有用户详细信息)、ps -ef(完整格式),支持搭配grep过滤或按用户查看;top则提供实时动态监控,能交互式显示系统负载及进程状态,并支持排序、杀进程等操作;选择工具依据需求决定:排查服务是否运行用ps更高效,分析性能问题则用top观察实时变化。
在linux系统中,查看正在运行的进程是日常运维和调试中的常见需求。
ps
和
top
是两个最常用的命令行工具,它们可以帮助你快速了解当前系统的进程状态。下面我来详细介绍这两个命令的基本用法和一些实用技巧。
一、使用
ps
ps
查看静态进程信息
ps
命令用于显示当前终端会话或整个系统的进程快照。它适合一次性查看当前有哪些进程在运行。
常用组合方式:
-
ps
:只显示当前终端下运行的进程。
-
ps aux
:查看所有用户的进程详细信息(a 表示 all,u 表示用户信息,x 表示包括没有控制终端的进程)。
-
ps -ef
:显示完整格式的进程信息,适合查找特定进程。
输出字段含义举例:
- USER:运行该进程的用户
- PID:进程ID,用来唯一标识一个进程
- %CPU 和 %MEM:占用的CPU和内存百分比
- COMMAND:启动进程的命令
实用小技巧:
-
搭配
grep
使用可以过滤出你需要的进程:
ps aux | grep nginx
-
只查看某个用户的进程:
ps -u www-data
二、使用
top
top
实时监控动态进程
如果你希望实时观察系统中各个进程的变化情况,
top
是更好的选择。它提供了一个交互式的界面,能持续更新进程状态。
基本操作:
- 直接输入
top
回车即可进入界面。
- 界面中会显示整体负载、CPU/内存使用情况以及当前活跃的进程列表。
- 按
q
键退出,按
k
键可以输入 PID 杀掉某个进程。
常见视图调整:
- 按
1
可以展开多核 CPU 的详细使用情况
- 按
M
按内存使用排序
- 按
P
按CPU使用排序
小提示:
-
如果你想让
top
自动刷新间隔更短或更长,可以用
-d
参数指定秒数:
top -d 2
这样每两秒刷新一次。
-
在脚本中使用
top
要小心,因为它默认是交互式的。如果需要非交互模式,可以考虑使用
top -b
。
三、什么时候用
ps
ps
,什么时候用
top
?
这个问题其实挺常见的,主要看你的需求是什么:
- 如果你只是想确认某个服务有没有运行,或者要获取某个进程的PID,用
ps
更快捷。
- 如果你是排查性能问题,比如CPU飙高、内存吃紧,那
top
提供的实时数据更有帮助。
- 有时候你可以先用
ps
找到可疑进程,再用
top
去观察它的资源消耗趋势。
总的来说,
ps
和
top
各有优势,掌握它们的常用用法,可以让你更快地定位问题、管理进程。基本上就这些,不复杂但容易忽略细节,多用几次就能熟练了。