常见Java工具——jps


简介

  最常用的一个。

  与Linux中的查看Java进程命令功能相同:

ps -ef | grep java

  jps与这个命令的区别在于,jps仅仅过滤出Java本身的进程以及运行的引导类,就是引导main方法所在的类。

使用

  • -q 仅输出VM标识符,不包括class name,jar name,arguments in main method 
  • -m 输出main method的参数 
  • -l 输出完全的包名,应用主类名,jar的完全路径名 
  • -v 输出jvm参数 
  • -V 输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件 
  • -Joption 传递参数到vm,例如:-J-Xms48m

举个栗子🌰

  写一个Java类来模拟实现jps:

 1 package service.test;
 2 
 3 import com.sun.tools.attach.VirtualMachine;
 4 import com.sun.tools.attach.VirtualMachineDescriptor;
 5 
 6 import java.util.List;
 7 
 8 /**
 9  * Created by zhengbin on 16/8/30.
10  */
11 public class JPSTest {
12     public static void main(String[] args) throws InterruptedException {
13         List<VirtualMachineDescriptor> machineDescriptors = VirtualMachine.list();
14         for (VirtualMachineDescriptor machineDescriptor : machineDescriptors) {
15             System.out.println(machineDescriptor.id() + "\t" + machineDescriptor.displayName());
16         }
17         Thread.sleep(10 * 1000);
18     }
19 }

  运行结果:

  同时执行jps命令:

  执行结果与jps -m命令执行结果相同。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM