首页 > 编程语言 >必知必会Java命令-jps

必知必会Java命令-jps

时间:2023-12-10 15:37:20浏览次数:51  
标签:Java jdk 必知 命令 参数 进程 jps

你好,我是阿光。

最近想着把工作中使用过的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命令。

使用场景

标签:Java,jdk,必知,命令,参数,进程,jps
From: https://www.cnblogs.com/gonggy/p/17892704.html

相关文章

  • Java之反射(重要 · 下)
    创建对象Class类提供了一个实例方法newInstance(),通过该方法可以创建对象,使用起来比较简单。调用构造方法packagejava2023_08_10;importjava.lang.reflect.Constructor;publicclassConstructorReflect{ publicstaticvoidmain(String[]args){ //TODOAuto-genera......
  • java-打包编译常用命令
    java-打包编译常用命令 1.maven预编译(打包检查异常) 在上到测试环境或者生产环境之前,先在本地打包检查异常: mvncleaninstall-Dmaven.test.skip=true-X  2.maven打包 一般用IDEA上的maven工具按钮: 如果打包失败则可以用下面的命令: mvncleaninsta......
  • java-数据结构
    数据结构A:栈先进后出B:队列先进先出C:数组查询快,增删慢D:链表查询慢,增删快List的三个实现类(1)List的三个实现类特点A:ArrayList底层数据结构是数组,查询快,增删慢线程不安全,效率高B:Vector底层数据结构是数组,查询快,增删慢线程安全,效率低C:LinkedList底层数据结......
  • Java中<where>和<if>标签的组合使用
     在Java中,并没有<where>和<if>标签的组合使用。这两个标签不是Java编程语言或Java标准库的一部分,它们可能是你所使用的特定框架或库提供的自定义标签。如果你正在使用某个特定的Java框架或模板引擎(如MyBatis、Thymeleaf等),这些框架或引擎可能提供了自定义标签,使得在代码中使用......
  • Java入门项目--蚂蚁爱购
    简介这是一个靠谱的Java入门项目实战,名字叫蚂蚁爱购。从零开发项目,视频加文档,十天就能学会开发JavaWeb项目,教程路线是:搭建环境=>安装软件=>创建项目=>添加依赖和配置=>通过表生成代码=>编写Java代码=>代码自测=>前后端联调=>准备找工作。学完即可成为合格的Java开发,心里有......
  • Java基于云端的云HIS服务平台源码
    云HIS是针对中小医疗机构推出的一套基于云端的云HIS服务平台,借助云his,将医院业务流程化,大大提高医院的服务效率和服务质量,为客户提供医院一体化的信息解决方案。云his主要功能:包含门诊收费管理,住院收费管理,门诊医生工作站,住院医生工作站,住院护士工作站,辅助检查科室管理,药房药品管......
  • java-数据和集合 and 数据结构
    1:数组:基本类型的数组:int[]引用类型的数组:Student[]2:Collection集合(掌握)(1)集合的由来我们学习的是面向对象的语言,而面向对象的语言常见的操作就是操作对象。为了方便我们对多个对象进行操作,我们可以使用对象数组来进行。但是对象数组的长度是固定的,不适应变化的需求,所......
  • Java入门项目--蚂蚁爱购
    ​ 简介这是一个靠谱的Java入门项目实战,名字叫蚂蚁爱购。从零开发项目,视频加文档,十天就能学会开发JavaWeb项目,教程路线是:搭建环境=>安装软件=>创建项目=>添加依赖和配置=>通过表生成代码=>编写Java代码=>代码自测=>前后端联调=>准备找工作。学完即可成为合格的Java开......
  • JAVA BLOG-3
    第一部分:对之前发布的第三阶段PTA题目集(1)前言:总结之前所涉及到的知识点、题量、难度等情况:知识点:第三阶段的知识点与前两个阶段相比多了很多,比如说多次接口的使用,Map与Set的使用,Arraylist排序的使用,正则表达式的使用,栈的实现及基本操作等等,与之前的简单的继承多态相比,知识点......
  • 【Java】删除List中的几行数据
    方法一: list.subList(from,to).clear();(注意不要超出list的长度范围)1List<Integer>list=newArrayList<>();2list.add(1);3list.add(2);4list.add(3);5list.add(4);6list.subList(0,2).clear();7System.out.println("list=>"+list);......