Linux ps 进程查看命令详解

Linux ps 进程查看命令详解

这两个是 Linux 运维中最经典、最常用 的进程排查命令,核心是通过 ps 全量查询 + grep 精准过滤,快速定位目标服务进程。


1. 命令逐段拆解

ps -ef | grep java

表格

命令 / 参数 英文全称 作用说明
ps Process Status 系统进程状态查看工具,用于列出当前运行的所有进程
-e every / all 显示系统中所有进程(包含所有用户、所有终端的进程)
-f full format 完整格式输出,包含 UID、PID、PPID、启动时间、完整命令等全量信息
` ` pipe(管道符)
grep java Global Regular Expression Print 从全量进程中,过滤出包含 java 关键字的进程,即所有 Java 应用进程(如 Tomcat、SpringBoot)

ps aux | grep tomcat

表格

命令 / 参数 英文全称 作用说明
a all users 显示所有用户的进程(默认仅显示当前用户)
u user-oriented 面向用户的格式输出,重点展示 CPU、内存占用率等资源指标
x without tty 显示无控制终端的进程(如后台守护进程)
grep tomcat 同上 过滤出包含 tomcat 关键字的进程,精准定位 Tomcat 服务

2. 核心区别与适用场景

表格

特性 ps -ef ps aux
核心输出 进程父子关系(PPID)、完整启动命令、启动时间 CPU 使用率 (% CPU)、内存使用率 (% MEM)、进程状态 (STAT)
适用场景 排查进程依赖、根据 PID 终止进程、追溯父进程 监控服务资源占用、排查内存 / CPU 飙高问题
标准来源 POSIX 标准(兼容性更强,所有 Unix/Linux 系统通用) BSD 风格(Linux 系统常用,输出更直观)

3. 输出字段详解(关键信息)

ps -ef 核心字段

表格

字段 含义
UID 进程所属用户 ID
PID 进程 ID(唯一标识,用于 kill 终止进程)
PPID 父进程 ID(用于追溯进程来源)
C CPU 占用率
STIME 进程启动时间
CMD 完整启动命令(可看到程序路径、参数)

ps aux 核心字段

表格

字段 含义
USER 进程所属用户名
PID 进程 ID
%CPU CPU 使用率
%MEM 物理内存使用率
VSZ 虚拟内存大小
RSS 常驻内存大小(实际占用物理内存)
STAT 进程状态(R 运行、S 睡眠、Z 僵尸等)

4. 进阶优化用法(避坑 + 提效)

① 排除 grep 自身进程

直接执行命令会匹配到 grep java 这个临时进程,可通过正则排除:

bash

运行

复制代码
ps -ef | grep [j]ava
ps aux | grep [t]omcat

原理:[j]ava 是正则表达式,仅匹配 java,不匹配 grep 命令中的 [j]ava,从而过滤掉自身。

② 结合 awk 提取 PID(一键杀进程)

复制代码
# 提取 Java 进程 PID 并终止
ps -ef | grep java | grep -v grep | awk '{print $2}' | xargs kill -9
  • grep -v grep:排除 grep 进程

-v = invert match 中文意思:反向匹配 / 排除 / 取反

  • awk '{print $2}':提取第 2 列(PID)
  • xargs kill -9:批量强制终止进程

③ 实时监控进程

ps 是静态快照,如需实时监控,可搭配 top

bash

运行

复制代码
top -p <PID>  # 实时监控指定 PID 的资源占用

5. 补充说明

  • Tomcat 本质是 Java 进程ps aux | grep tomcat 能查到,是因为 Tomcat 启动命令中包含 tomcat 关键字;如果是 SpringBoot 等无 tomcat 关键字的 Java 服务,需用 grep java 查找。
  • 权限问题 :普通用户仅能查看自己的进程,root 用户可查看所有进程。
  • 替代工具 :现代系统也常用 pgrep java 直接获取 Java 进程 PID,无需管道过滤。
相关推荐
leisoo80973 小时前
100GBA股股票数据怎么存ClickHouseRedisMySQLJSON完整对比
大数据·linux·服务器·开发语言·python
爱喝水的鱼丶4 小时前
SAP-ABAP:接口与报表场景专项优化:RFC/ODATA 接口、ALV 报表的性能提升方案
运维·性能优化·接口·sap·abap·rfc·经验交流
青瓦梦滋4 小时前
传输层UDP/TCP协议
linux·网络·c++·网络协议·tcp/ip·udp
ltl4 小时前
机密计算:SGX、SEV-SNP、TDX 与 ARM CCA
linux
ltl4 小时前
互联与网络:NVLink、InfiniBand、RoCE 与国产替代
linux
码上上班4 小时前
tengine知识点
linux·服务器·centos
画中有画4 小时前
自动化脚本开发最佳实践
运维·自动化
雾时之林7 小时前
Linux--软件管理、源码包安装
linux·服务器·数据库
江南风月7 小时前
如何使用WGCLOUD实现智能运维
运维·zabbix·运维开发·prometheus
xiaoxiangsiyan7 小时前
HCIA 网络技术基础核心模块详解
运维·网络·网络协议·tcp/ip·运维开发·网络基础