必知必會Java命令-jps

来源:https://www.cnblogs.com/gonggy/archive/2023/12/10/17892704.html
-Advertisement-
Play Games

最近想著把工作中使用過的java命令都梳理一下,方便日後查閱。雖然這類文章很多,但自己梳理總結後,還是會有一些新的收穫。這也是這篇筆記的由來。 ...


你好,我是阿光。

最近想著把工作中使用過的java命令都梳理一下,方便日後查閱。雖然這類文章很多,但自己梳理總結後,還是會有一些新的收穫。這也是這篇筆記的由來。

今天先聊聊 jps 命令。

命令概述⭐

jps命令是JDK提供的一個工具,用於查看目標系統上的Java進程基本信息(進程ID, 啟動類,啟動參數等)。命令在JDK安裝目錄的bin目錄下,比如在我的window下D:\Java\jdk1.8.0\bin\jps.exe。但JRE沒有提供這個命令。不過從Java9模塊化開始,已經不區分JDK和JRE了。

這個命令只會檢測到目標系統上HotSpot版本的,具有訪問許可權的JVM信息。

命令的官方文檔可查看這個地址The jps Command (oracle.com)

命令用法⛵

我的演示環境是在window11, jdk17版本下

我們可以通過jps -h 或者 jps --help 或者 jps -help查看這個命令的基本用法:

jps --help
usage: jps [--help]
       jps [-q] [-mlvV] [<hostid>]

Definitions:
    <hostid>:      <hostname>[:<port>]
    -? -h --help -help: Print this help message and exit.

中括弧里的選項都是可選的,最簡單的就是jps

jps
35936 Jps
1076  RemoteMavenServer36

這裡沒有指定主機,所以只會查找本地主機上的JVM。第一列是進程ID,第二列是啟動類名。可以看到,jps命令本身也是一個Java進程,它的啟動類是Jps。

-q選項會讓命令只輸出進程ID,如下:

jps -q
35936
1076

-mlvV選項可以任意指定一個,也可以同時指定多個,它們可以隨意組合。

  • -m 選項會顯示傳遞給main方法的參數,即程式自定義的一些參數。
  • -l 選項會顯示啟動類的完整包名稱或者啟動JAR的完整路徑名。
  • -v 選項會顯示傳遞給虛擬機的參數,比如-Dxxx=v形式指定的參數,-Xms128M參數等。
  • -V 大V選項只會輸出PID和類名,jpsjps -V的輸出是一樣的。

這裡我本地運行了一個Java進程,啟動類是Main,並且指定了一些自定義的參數.

  1. 列出main方法參數:jps -m
jps -m
16596 Main test=11 測試參數:a
18796 Jps -m
  1. 列出啟動類全名:jps -l
jps -l
16596 com.ggy.softman.Main
11836 jdk.jcmd/sun.tools.jps.Jps
  1. 列出虛擬機參數:jps -v
jps -v
29716 Main -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8
11388 Jps -Dapplication.home=D:\Java\jdk-17.0.6.10 -Xms8m -Djdk.module.main=jdk.jcmd
  1. 組合命令,輸出信息更豐富:jps -lmv
jps -lmv
31948 com.ggy.softman.Main test=11 測試參數:a -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8
29008 jdk.jcmd/sun.tools.jps.Jps -lmv -Dapplication.home=D:\Java\jdk-17.0.6.10 -Xms8m -Djdk.module.main=jdk.jcmd

該命令也可以顯示遠程主機的Java進程信息,只要在命令的最後帶上hostid。這種情況基本使用很少,這裡也沒演示了,可以查看官網文檔。

連接遠程主機時,遠程主機上必須運行jstatd命令。

使用場景

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 項目描述 半年前本蒻蒟在逛開源硬體平臺的時候發現了一個好玩的電子神之眼,於是開始了長達半年的製作(鴿)過程..... 本項目復刻了薩納蘭的黃昏大佬改版的神之眼S3“Pro”版核心板V1 本項目基於Arduino IDE環境 本項目硬體和軟體部分基於GPL3.0開源許可開源(可修改,可分享,可商用,但 ...
  • spring Boot應用啟動器基本的一共有44種,具體如下 1)spring-boot-starter 這是Spring Boot的核心啟動器,包含了自動配置、日誌和YAML。 2)spring-boot-starter-actuator 幫助監控和管理應用。 3)spring-boot-star ...
  • python原生數據類型有int、float、str、tuple、list、set、dict七類,本次隨筆介紹了幾種類型的定義,同時用實驗驗證各數據類型之間的嵌套,以實驗結果證明各個數據類型的基本特征。 ...
  • 本文首發於公眾號:Hunter後端 原文鏈接:Django筆記四十四之Nginx+uWSGI部署Django以及Nginx負載均衡操作 這一篇筆記介紹如何使用 Nginx + uWSGI 來部署 Django。 上一篇筆記中有介紹直接使用 uWSGI 作為 web 伺服器來部署 Django,這一篇 ...
  • 本文是我從業多年開發生涯中針對線上業務的處理經驗總結而來,這些業務或多或少相信大家都遇到過,因此在這裡分享給大家,大家也可以看看是不是遇到過類似場景。本文大綱如下, 後臺上傳文件 線上後臺項目有一個消息推送的功能,運營新建一條通知消息時,需要一起上傳一列包含用戶 id 的文件,來給文件中包含的指定用 ...
  • Java為我們提供了許多啟動線程和管理線程的方法。在本文中,我們將介紹一些在Java中進行併發編程的選項。我們將介紹結構化併發的概念,然後討論Java 21中一組預覽類——它使將任務拆分為子任務、收集結果並對其進行操作變得非常容易,而且不會不小心留下任何掛起的任務。 1 基礎方法 通過Lambda表 ...
  • 1 問題復現 (1)登錄DVMA後,設置DVWA Security為Low。 (2)進入File Inclusion,訪問dvwa/vulnerabilities/fi目錄下的的test.txt文件(自己創建的測試文件)。 (3)報錯ERROR: File not found! 找不到文件。 2 抓 ...
  • 當我們談論編程中的數據結構時,順序容器是不可忽視的一個重要概念。順序容器是一種能夠按照元素添加的順序來存儲和檢索數據的數據結構。它們提供了簡單而直觀的方式來組織和管理數據,為程式員提供了靈活性和性能的平衡。Qt 中提供了豐富的容器類,用於方便地管理和操作數據。這些容器類涵蓋了各種不同的用途,從簡單的... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...