jps功能
顯示目标機器(
本機
或者
遠端
)上的java程序。
用法
# 檢視指令使用方式
[[email protected] ~]# jps -help
usage: jps [-help]
jps [-q] [-mlvV] [<hostid>]
Definitions:
<hostid>: <hostname>[:<port>]
參數說明
:
參數 | 含義 |
---|---|
-q | 隻顯示本地虛拟機辨別符 (local JVM identifiers) |
-m | 顯示傳遞給 方法的參數 |
-l | 顯示應用程式主類的 或者jar的 |
-v | 顯示傳遞給虛拟機的參數 |
-V | 官方文檔介紹與-q參數功能一緻, ,可能是我打開方式不對,記得留言我 |
hostid | 當目标機器是 時使用,用于辨別遠端機器 |
指令輸出格式
:
lvmid [ [ classname | JARfilename | “Unknown”] [ arg* ] [ jvmarg* ] ]
實戰一波
實戰環境:
環境 | 描述 |
---|---|
虛拟機作業系統 | CentOS Linux release 7.6.1810 (Core) |
虛拟機IP | 192.168.1.14 |
虛拟機java | openjdk version “1.8.0_232” |
虛拟機使用者 | root |
啟動被監控Java程序
# 檢視目前目錄
[[email protected] ~]# pwd
/root
# 在/root下建立tech/nosql檔案夾
[[email protected] ~]# mkdir -vp tech/nosql
mkdir: 已建立目錄 "tech"
mkdir: 已建立目錄 "tech/nosql"
# 建立測試用java檔案:Hello.java
cat > tech/nosql/Hello.java <<EOF
package tech.nosql;
public class Hello {
public static void main(String[] args) {
for (int j = 0; j < Integer.MAX_VALUE; j++) {
try {
Thread.sleep(1000);
System.out.println("j = " + j);
} catch (InterruptedException e) {
System.out.println("error");
}
}
}
}
EOF
# 編譯Hello.java
[[email protected] ~]# javac tech/nosql/Hello.java
# 運作Hello,傳入虛拟機參數-Xms100m,給main方法傳入arg1,arg2兩個參數
[[email protected] ~]# java -Xms100m tech/nosql/Hello arg1 arg2
j = 0
j = 1
.....
jps實戰
# 直接輸入jps,預設輸出格式:lvmid [ classname | JARfilename | "Unknown"]
[[email protected] ~]# jps
17073 Hello
17189 Jps
# -q: 隻顯示lvmid
[[email protected] ~]# jps -q
17073
17395
# -m:顯示傳遞給main方法的參數,成功顯示arg1,arg2
[[email protected] ~]# jps -m
17073 Hello arg1 arg2
17487 Jps -m
# -l:顯示應用程式主類的包名或者jar的全路徑,此時顯示了Hello類的包名
[[email protected] ~]# jps -l
17073 tech/nosql/Hello
17541 sun.tools.jps.Jps
# -v:顯示傳遞給虛拟機的參數,顯示了傳遞給虛拟機的-Xms100m
[[email protected] ~]# jps -v
17073 Hello -Xms100m
17621 Jps -Dapplication.home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64 -Xms8m
# -V:官方文檔介紹與-q參數功能一緻,實測沒卵用
[[email protected] ~]# jps -V
17073 Hello
17716 Jps
# -mlv:顯示全部資訊,格式:lvmid [ [ classname | JARfilename | "Unknown"] [ arg* ] [ jvmarg* ] ]
[[email protected] ~]# jps -mlv
17073 tech/nosql/Hello arg1 arg2 -Xms100m
17852 sun.tools.jps.Jps -mlv -Dapplication.home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64 -Xms8m
參考位址
JDK13-tools: https://docs.oracle.com/en/java/javase/13/docs/specs/man/index.html
JDK13-jps: https://docs.oracle.com/en/java/javase/13/docs/specs/man/jps.html
JDK8-tools:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/
JDK8-jps:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jps.html#CHDCGECD