JPS
位置:jdk 的bin目录下面。
作用:显示当前系统的java进程情况,以及pid等信息。
历史替代名称:以前我们查找java进程可能会使用 pgrep java 或者 ps -ef | grep java;
描述:jps并不是使用应用程序名来查找jvm实例,所以它是查找出机器当前所有的java应用程序,比如你在机器上简单运行一个java类也会被找出来,或者定制的启动器,注意jps只查找当前用户的进程,没有授权给该用户的,就不显示的。
原理:jdk中jps命令可以显示当前运行的java进程以及进程运行的各种参数,原理主要是在java程序运行以后,会在/tmp/hsperfdata_root 文件夹下面生成对应的pid为文件名的文件,打开后可以发现进程的相关信息,jps一些命令参数就是去这个文件里面的,也即是解析里面文件获得的。
学习使用:
1.看看帮助命令 jps -help ,需要加点耐心看看英文描述
2.jps -q 只显示java相关的进行id,没有其他的信息
3.jps -m 输出传递给main方法的参数,不需要加pid
18414 Resin --root-directory /usr/local/appserver/resin_pp/ -conf /usr/local/appserver/resin_pp/conf/resin.xml -server app-0 -socketwait 33624 start --log-directory /usr/local/appserver/resin_pp/log
resin容器传递给main的参数示例
4. jps -v 输出传递给JVM的参数,比如设置的一些jvm的堆大小等,不需要加pid
jps是日常开发中使用比较多的一个命令,在使用dubbo的环境中,基本上启动就jps看看,或者有时候我想知道这个应用的日志会输出到哪里(resin ,tomcat等这些容器),那么就可用jps -v看看了。
备注:以上仅限参考centos系统。