首页 > 代码库 > 常见Java工具——jps

常见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命令执行结果相同。

常见Java工具——jps