• Java的jps命令使用详解


    jps命令简介

    jps(Java Virtual Machine Process Status Tool)是JDK提供的一个可以列出正在运行的Java虚拟机的进程信息的命令行工具,它可以显示Java虚拟机进程的执行主类(Main Class,main()函数所在的类)名称、本地虚拟机唯一ID(LVMID,Local Virtual Machine Identifier)等信息。另外,jps命令只能显示它有访问权限的Java进程的信息。

    虽然jps命令的功能比较单一,但它使用的频率却很高。对于本地虚拟机来说,本地虚拟机唯一ID和操作系统的进程ID(PID,Process Identifier)是一致的,如果同时启动多个Java虚拟机进程,无法根据进程名称确定某个进程,我们就是使用jps命令显示主类名称的功能区分出来。

    jps命令参数

    命令语法:

    jps [-q] [-mlvV] [hostid]
    
    jps [-help]
    

    命令参数说明:

    • -q:不显示主类名称、JAR文件名和传递给主方法的参数,只显示本地虚拟机唯一ID。
    • -mlvV:我们可以指定这些参数的任意组合。
      • -m:显示Java虚拟机启动时传递给main()方法的参数。
      • -l:显示主类的完整包名,如果进程执行的是JAR文件,也会显示JAR文件的完整路径。
      • -v:显示Java虚拟机启动时传递的JVM参数。
      • -V:不显示主类名称、JAR文件名和传递给主方法的参数,只显示本地虚拟机唯一ID。
    • hostid:指定的远程主机,可以是ip地址和域名, 也可以指定具体协议,端口。如果不指定,则显示本机的Java虚拟机的进程信息。
    • -help:显示jps命令的帮助信息。

    在没有指定任何参数的情况下,jps命令会显示每个Java虚拟机进程的本地虚拟机唯一ID,后面跟着主类名称或JAR文件名的简短形式。

    命令显示格式:

    LVMID [ [ classname | JARfilename | "Unknown"] [ arg* ] [ jvmarg* ] ]
    

    其中所有输出都以空格分隔,所以当argjvmarg中包含空格的时候,有可以不好分辨,需要注意一下。

    jps命令示例

    显示本机的Java虚拟机进程:

    # jps
    15729 jar
    92153 Jps
    90267 Jstat
    

    显示主类的完整包名或JAR文件名:

    # jps -l
    15729 one-more-1.0.0.RELEASE.jar
    112054 sun.tools.jps.Jps
    90267 sun.tools.jstat.Jstat
    

    显示主类的完整包名或JAR文件名,并且显示JVM参数:

    # jps -lv
    15729 one-more-1.0.0.RELEASE.jar -Xmx1g -Xms1g -Xmn512m -XX:SurvivorRatio=4 -XX:MetaspaceSize=256m -XX:+UseG1GC
    9043 sun.tools.jps.Jps -Denv.class.path=.:/usr/local/java/jdk1.8.0_251/lib:/usr/local/java/jdk1.8.0_251/jre/lib -Dapplication.home=/usr/local/java/jdk1.8.0_251 -Xms8m
    90267 sun.tools.jstat.Jstat -Denv.class.path=.:/usr/local/java/jdk1.8.0_251/lib:/usr/local/java/jdk1.8.0_251/jre/lib -Dapplication.home=/usr/local/java/jdk1.8.0_251 -Xms8m
    

    显示主类的完整包名或JAR文件名,并且显示传递给main()方法的参数:

    # jps -lm
    15729 one-more-1.0.0.RELEASE.jar
    59014 sun.tools.jps.Jps -lm
    90267 sun.tools.jstat.Jstat -gc 15729 1000
    

    结尾

    虽然jps命令已经推出很久并且使用频率很高,但它仍然是一个“实验性质的,并且没有技术支持的”(Experimental and Unsupported)工具,日后可能会被转正,也有可能在某个JDK版本中无声无息地消失。所以,且用且珍惜吧。

    最后,谢谢你这么帅,还给我点赞关注

    微信公众号:万猫学社

    微信扫描二维码

    关注后回复「电子书」

    获取12本Java必读技术书籍

  • 相关阅读:
    Linux chattr 文件保护
    ArcGIS案例学习笔记-批处理擦除挖空挖除相减
    ArcGIS案例学习笔记-手动编辑擦除挖空挖除相减
    GIS案例学习笔记-CAD数据分层导入现有模板实例教程
    GIS案例学习笔记-ArcGIS整图大图出图实例教程
    Arcgis map export or print Error: Cannot map metafile into memory. Not enough memory
    [图解tensorflow源码] 入门准备工作附常用的矩阵计算工具[转]
    GIS案例学习笔记-明暗等高线提取地理模型构建
    地理处理模型、案例、教程、培训低价发送
    GIS工具-shp浏览器
  • 原文地址:https://www.cnblogs.com/heihaozi/p/16007667.html
Copyright © 2020-2023  润新知