Java JPS命令使用指南 #
什么是JPS #
JPS(Java Virtual Machine Process Status Tool)是Java开发工具包(JDK)中提供的一个命令行工具,用于列出当前系统中所有正在运行的Java虚拟机(JVM)进程。它是Java诊断工具链中的基础工具之一,能够快速获取系统中Java进程的基本信息。
JPS的功能和用途 #
JPS主要用于:
- 快速查看当前系统中运行的Java进程
- 获取Java进程的进程ID(PID)
- 查看Java进程的主类名称或JAR文件名
- 检查Java进程的启动参数
JPS的基本语法 #
bash
jps [options] [hostid]
其中:
options:可选参数,用于控制输出格式和内容hostid:可选参数,指定远程主机ID,用于查看远程系统上的Java进程
常用命令选项 #
| 选项 | 描述 |
|---|---|
-q |
仅显示进程ID(PID),不显示主类名称 |
-m |
显示Java进程的主类名称和传递给主方法的参数 |
-l |
显示主类的完整包名或JAR文件的完整路径 |
-v |
显示传递给JVM的参数 |
-V |
显示通过环境变量或配置文件传递给JVM的参数 |
-J<flag> |
传递参数给运行jps的JVM |
使用示例 #
1. 基本使用 #
bash
jps
输出示例:
text
12345 Jps
67890 MyApplication
2. 仅显示进程ID #
bash
jps -q
输出示例:
text
12345
67890
3. 显示完整类名 #
bash
jps -l
输出示例:
text
12345 sun.tools.jps.Jps
67890 com.example.MyApplication
4. 显示主方法参数 #
bash
jps -m
输出示例:
text
12345 Jps
67890 MyApplication arg1 arg2
5. 显示JVM参数 #
bash
jps -v
输出示例:
text
12345 Jps -Dapplication.home=/usr/lib/jvm/java-11-openjdk-amd64 -Xms8m
67890 MyApplication -Xmx512m -Xms256m -Dconfig.file=application.properties
6. 组合使用多个选项 #
bash
jps -lmv
输出示例:
text
12345 sun.tools.jps.Jps -Dapplication.home=/usr/lib/jvm/java-11-openjdk-amd64 -Xms8m
67890 com.example.MyApplication arg1 arg2 -Xmx512m -Xms256m -Dconfig.file=application.properties
注意事项 #
- 权限问题:在某些系统上,可能需要管理员权限才能查看所有Java进程
- 环境变量:确保JDK的bin目录已添加到系统PATH环境变量中
- 远程查看:查看远程主机的Java进程需要配置远程主机的jstatd服务
- 兼容性:jps工具随JDK一起发布,不同JDK版本的jps可能存在细微差异
- 与ps命令的区别:jps只显示Java进程,而ps可以显示所有进程;jps提供了更多Java特定的信息
远程使用JPS #
要查看远程主机上的Java进程,需要:
- 在远程主机上启动jstatd服务:
bash
jstatd -J-Djava.security.policy=all.policy
其中,all.policy文件内容如下:
text
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
- 使用jps查看远程进程:
bash
jps remotehostname:1099
总结 #
JPS是一个简单但强大的Java进程查看工具,它可以帮助开发者快速了解系统中运行的Java进程信息。通过结合不同的命令选项,可以获取进程ID、主类名称、启动参数等详细信息,为Java应用的监控和调试提供便利。
建议开发者在日常工作中熟练掌握jps命令的使用,它将成为Java开发和维护工作中的得力助手。
最后更新:2026-02-05