jps 是 jdk 自带的轻量级 java 进程查看工具,通过读取本地 hsperfdata_ 目录快速获取 pid 和主类名;支持 -l(全路径)、-v(jvm 参数)、-m(main 参数)、-q(仅 pid)等选项,适用于调试、监控和运维场景。

jps 是 JDK 自带的一个轻量级工具,用于查看当前用户启动的 Java 进程(即运行中的 JVM 实例)。它不依赖 JMX 或远程连接,直接读取本地 JVM 的临时文件(如 hsperfdata_<username></username> 目录),因此速度快、开销小。
基本用法:列出进程 ID 和主类名
在命令行中直接运行:
jps
当用户要求为 Java 代码添加注释、修改注释、审查注释、整理注释格式,或要求按照代码注释规范处理 Java 文件时,使用本技能。本技能用于统一生成和维护 Java 类注释模板、按 Git 对比 release 判断版本号、补充每行代码上方中文块注释、调整注释空行规则,并保持 Java 文件 UTF-8 无 BOM 编码。典型触发场景包括:补充类注释、更新 @version、检查 @author 来源、整理行尾注释、把注释放到代码上一行、检查注释是否符合规范、构建前检查 Java 注释风格。
输出示例:
12345 MyApplication
67890 SpringApplication
11223 Jps
其中每行第一列是进程 ID(PID),第二列是该 Java 进程启动时的主类名或 JAR 文件名(取决于启动方式)。
常用选项增强信息显示
- jps -l:显示完整类名或 JAR 的绝对路径(对 Spring Boot 等 fat-jar 很有用)
-
jps -v:显示 JVM 启动时传入的参数(如
-Xmx、-Dfile.encoding等) -
jps -m:显示传递给 main 方法的参数(即
public static void main(String[] args)中的args) -
jps -q:仅输出 PID,适合脚本中提取(如配合
kill使用)
注意事项和常见问题
- 默认只显示当前用户启动的 Java 进程;如需查看其他用户进程,需切换到对应用户或使用
sudo jps(部分系统需先配置权限) - 进程可能不显示:如果 JVM 启动时加了
-XX:+DisableAttachMechanism,或临时目录被清理(/tmp/hsperfdata_*被删),jps就无法识别该进程 - Windows 下路径含空格时,
jps -l可能截断显示,建议用jps -lv组合验证 -
jps不是实时扫描,而是读取 JVM 创建的性能数据文件,所以刚启动或已退出但文件残留的进程可能出现短暂偏差
实用小技巧
- 快速找某个服务的 PID:jps | grep MyService
- 结合
jstat查 GC 状态:jstat -gc 12345 1s - 终止进程前确认:jps -lv | grep "spring",再用
kill -15 <pid></pid>
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










