常見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