jps(Java Virtual Machine Process Status Tool)是JDK1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。很多人都是用过unix系统里的ps命令,这个命令主要是用来显示当前系统的进程情况,有哪些进程以及进程id。 jps 也是一样,它的作用是显示当前系统的java进程情况及进程id。我们可以通过它来查看我们到底启动了几个java进程(因为每一个java程序都会独占一个java虚拟机实例),并可通过opt来查看这些进程的详细启动参数。
使用方法:在当前命令行下打jps(jps存放在JAVA_HOME/bin/jps,使用时为了方便请将JAVA_HOME/bin/加入到Path) 。
$> jps
31756 Bootstrap
17629 Bootstrap
22352 Jps
比较常用的参数:
-q 只显示pid,不显示class名称,jar文件名和传递给main方法的参数
$> jps -q
22366
31756
17629
-m 输出传递给main方法的参数,在嵌入式jvm上可能是null
$> jps -m
22382 Jps -m
31756 Bootstrap start
17629 Bootstrap start
-l 输出应用程序main class的完整package名或者应用程序的jar文件完整路径名
$> jps -l
31756 org.apache.catalina.startup.Bootstrap
22404 sun.tools.jps.Jps
17629 org.apache.catalina.startup.Bootstrap
-v 输出传递给JVM的参数
$> jps -v
22418 Jps -Denv.class.path=.:/usr/local/bin/jdk1.7.0_71/lib/tools.jar -Dapplication.home=/usr/local/bin/jdk1.7.0_71 -Xms8m
31756 Bootstrap -Djava.util.logging.config.file=/home/tools/apache-tomcat-jenkins/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -Djava.endorsed.dirs=/home/tools/apache-tomcat-jenkins/endorsed -Dcatalina.base=/home/tools/apache-tomcat-jenkins -Dcatalina.home=/home/tools/apache-tomcat-jenkins -Djava.io.tmpdir=/home/tools/apache-tomcat-jenkins/temp
17629 Bootstrap -Djava.util.logging.config.file=/home/apache-tomcat-7.0.64/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -Djava.endorsed.dirs=/home/apache-tomcat-7.0.64/endorsed -Dcatalina.base=/home/apache-tomcat-7.0.64 -Dcatalina.home=/home/apache-tomcat-7.0.64 -Djava.io.tmpdir=/home/apache-tomcat-7.0.64/temp