一:简介
Jps(Java Virtual Machine Process Status Tool)应该是我们关于jvm常用命令的开始,也是最常用的命令之一。同样位于jdk的bin目录下,其作用很简单,就是显示当前系统的java进程情况,以及其id号。
Jps是我们后续使用jmap ,jstat等命令的基础。
Jps相当于linux中的ps命令(Process Status),但是不像 ps –ef|grep java ,jps并能使用程序名称来查找jvm实例。即jps查找所有的java应用程序,且jps仅查找当前用户的java进程,而不是当前系统中所有进程。
二:原理
确实是有原理的,虽然只是一个简单的命令
Java程序在启动之后会在java.io.tmpdir指定的目录下,这个文件夹里(在Linux中为/tmp/hsperfdata_{userName}/),有几个文件,名字就是java进程的pid,因此列出当前运行的java进程,只是把这个目录里的文件名列一下而已。至于系统的参数什么,就可以解析这几个文件获得。
三:应用
1:最最简单的应用,也是最伟大的应用:jps –help
其实笔者认为有了这个觉悟,其实jps已经基本学会了,没有比help更好的入门资料了。当然所有的命令甚至是其他各个方面的学习也是应该从help开始的。
2:jps 显示进程id及名称
3:jps –q 只显示进程id
4:jps –m 输出传递给main方法的参数,
5:jps –l 输出java程序main ,class 完整包名称。或者jar完整路径名称
6:jps –v 输出传递给jvm的参数。
笔者认为这个命令比较常用,我们可以用这个来看我们的tomcat或者jboss的jvm启动参数。
Jps 作为jvm命令的开始,是后续各种命令的基础,因为我们想要查看我们某个java进程的相关信息必须要先知道进程id。同样jps命令也可以帮我们快速了解服务器中所有java进程以及其对应的基本参数(jps –v)