JDK之JPS
关于JDK环境变量,我推荐一下这个
前言
最近开发遇到java -jar xxx.jar 启动的项目没有办法关闭的问题。
window下查找pid有些繁琐,在寻求更好骚操作的途中,我遇到了JDK的JPS。
jps 与 java 命令一样,是在jdk/bin目录下的命令。然后我就去探索了一下。
JPS 简介
JPS 名称:
1 | jps - Java Virtual Machine Process Status Tool |
命令用法:
1 | jps [options] [hostid] |
功能描述:
jps是用于查看有权访问的hotspot虚拟机的进程. 当未指定hostid时,默认查看本机jvm进程;查看指定的
hostid机器上的jvm进程,此时hostid所指机器必须开启jstatd服务。jps
可以列出jvm进程lvmid,主类类名,main函数参数,jvm参数,jar名称等信息。jps命令类似与linux的ps命令,但是它只列出系统中所有的Java应用程序。 通过jps命令可以方便地查看Java进程的启动类、传入参数和Java虚拟机参数等信息。在 linux 中查看
Java的进程,一般ps -ef | grep java来获取进程ID。只获取Java程序的进程,可以直接使用jps命令。window
也是一样的,杀死的命令变为了taskkill -f /pid xxx
命令选项及功能:
- -q:只输出进程 ID
- -m:输出传入 main 方法的参数
- -l:输出完全的包名,应用主类名,jar的完全路径名
- -v:输出jvm参数
- -V:输出通过flag文件传递到JVM中的参数
没添加option的时候,默认列出VM标示符号和简单的class或jar名称.如下:

-q :仅仅显示VM 标示,不显示jar,class, main参数等信息.

-m:输出主函数传入的参数. 下的hello 就是在执行程序时从命令行输入的参数

-l: 输出应用程序主类完整package名称或jar完整名称.

-v: 列出jvm参数, -Xms20m -Xmx50m是启动程序指定的jvm参数

-V: 输出通过.hotsportrc或-XX:Flags=
-Joption:传递参数到javac 调用的java lancher.