原来jdk自带了这么好玩的工具 > JPS使用教程「建议收藏」

原来jdk自带了这么好玩的工具 > JPS使用教程「建议收藏」jps(JavaVirtualMachineProcessStatusTool)jsp是java提供的一个显示当前所有java进程pid的命令,适合在linux/unix平台上简单察看当前java进程的一些简单情况。很多人都是用过unix系统里的ps命令,这个命令主要是用来显示当前系统的进程情况,有哪些进程以及进程id。jps也是一样,它的作用是显示当前系统的java进程情况及进程id。我们可以通过它来查看我们到底启动了几个java进程(因为每一个java程序都会独占一个java虚拟机实

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

jps(Java Virtual Machine Process Status Tool)

jps是java提供的一个显示当前所有java进程pid的命令,适合在linux/unix平台上简单察看当前java进程的一些简单情况。

很多人都是用过unix系统里的ps命令,这个命令主要是用来显示当前系统的进程情况,有哪些进程以及进程id。

jps 也是一样,它的作用是显示当前系统的java进程情况及进程id。

我们可以通过它来查看我们到底启动了几个java进程(因为每一个java程序都会独占一个java虚拟机实例)
并可通过opt来查看这些进程的详细启动参数。

命令格式如下,options 和 pid 都是可选的,pid就是应用程序的进程号,

命令格式:jps [options ] [ pid ] 

输入jps命令就会展示出当前电脑中所有的java进程,其中前面数字就是pid,后面的英文是应用的名称
在这里插入图片描述

jps常用选项如下

命令 说明
-l 输出主程序的路径全类名
-m 输出main方法的参数
-q 只输出进程号pid,不包括类名,jar 文件名,参数名
-v 输出jvm参数
-V 输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件
-Joption 传递参数到jvm虚拟机 ,例如:-J-Xms512m

输出主程序的路径全类名 -l

在命令行输入命令,则会展示出进程id和main方法所在路径的全类名

jps -l

在这里插入图片描述

输出main方法的参数 -m

在命令行输入以下命令,显示的信息除了进程id和应用程序的名称之外,还可看到main方法输入的参数信息,

先在运行的main方法中加入2个参数,
在这里插入图片描述
运行main方法后,可以看到参数中已经有了参数
在这里插入图片描述
接着在控制台输入以下jps命令,就可以看到所有main方法中的参数了

jps -m

在这里插入图片描述

只输出进程编号pid -q

jps -q

在这里插入图片描述

输出jvm参数 -v

一般来说,每个运行的进程都会自带一些jvm,接下来我们往进程里面添加一个参数
在这里插入图片描述
然后启动项目,接着在命令行输入以下命令

jps -v

打印的结果中就可以找到我梦刚刚输入的jvm参数,还有其他的参数是idea在启动时自带的,我们忽略就好;
在这里插入图片描述

组合命令 -mlv

除了可以单个命令打印之外,也可以多个命令一起使用,只不过输出的信息有点多而已,输入以下命令

jps -mlv

打印结果如下,东西太多了, 没截全
在这里插入图片描述

远程连接jps

服务端配置

首先,需要在服务端开启一个策略,新建一个策略文件vim jstatd.all.policy
将下面的代码复制到vim jstatd.all.policy文件中,注意file目录需要改成你自己的jdk目录,下面的这个示例策略将允许jstatd服务具有JVM全部的访问权限:

grant codebase "file:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/lib/tools.jar" {
   permission java.security.AllPermission;
};

然后在服务器当前目录中启动策略

jstatd -J-Djava.security.policy=jstatd.all.policy

启动后会进入阻塞状态,这个时候就表示可以连接了
在这里插入图片描述

客户端配置

在客户端输入命令,远程连接到服务器的jps即可,我这边用了本地来做测试,因为没有远程服务器;:
注意:如果是远程的服务器,需要开启端口权限和防火墙的配置,否则会拒绝连接

jps -l 127.0.0.1

打印结果如下,出结果就表示已经连接成功了;
在这里插入图片描述

还有两个命令-Joption-V使用的不多,感兴趣的可以自己测试一下,其实jps使用的也不是很多,因为我们一般部署项目都是用linux系统,而linux系统已经自带了 ps 命令,而且比jps强大很多,所以真正用jps的人会比较少;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191545.html原文链接:https://javaforall.net

(0)
上一篇 2026年1月30日 上午8:43
下一篇 2026年1月30日 上午9:15


相关推荐

  • 构建私有云,需要考虑哪些要点?

    构建私有云,需要考虑哪些要点?私有云让企业能够保护并控制应用程序和数据 同时让开发团队能够更快速 更顺畅地提供业务价值 但是虽然构建私有云有望彻底改变 IT 要是没有认真的规划和准备 它也无异于是一次成本高昂的科学试验 下面这十个要点有助于确保成功 1 让利益相关者参与进来 私有云并不是纯粹的 IT 项目 将来实际使用的各个业务部门都应该参与进来 搞清楚规范和可交付成果 云改变了 IT 部门和业务部门之间的关系 双方都要参与其中 搞清

    2026年3月18日
    1
  • matlab 医学图像处理(matlab进行图像处理)

    对图像文件增加椒盐噪声,然后进行中值滤波Y=imread(‘D:\321.jpg’);%读入图像I=rgb2gray(Y);%转换成灰度图J=imnoise(I,‘salt&pepper’,0.02);%给图像添加椒盐噪声K=medfilt2(J);%对增加噪声后的图像进行中值滤波subplot(2,2,1);imshow(I);title(‘原图’);%显示图像,并…

    2022年4月18日
    55
  • Heartbleed心脏出血漏洞原理分析

    Heartbleed心脏出血漏洞原理分析Heartbleed心脏出血漏洞原理分析Heartbleed心脏出血漏洞原理分析2017年01月14日18:14:25阅读数:27182017年01月14日18:14:25阅读数:271

    2022年7月1日
    27
  • 国内可用的Internet时间同步服务器地址(NTP时间服务器)[通俗易懂]

    国内可用的Internet时间同步服务器地址(NTP时间服务器)[通俗易懂]不知道什么鬼我这系统自带的Internet时间同步服务器地址居然不可用,终端ping系统自带服务器两个居然都不通???难道时间服务器也和谐么?好在阿里云提供了7个NTP时间服务器也就是Interne

    2022年7月1日
    174
  • 华为服务器pxe装系统,pxe启动服务器

    华为服务器pxe装系统,pxe启动服务器pxe启动服务器内容精选换一换根据给定的云服务器ID列表,批量启动云服务器,一次最多可以启动1000台。POST/v1/{project_id}/cloudservers/action参数说明请参见表1。参数说明参数是否必选描述project_id是项目ID。获取方法请参见获取项目ID。请参考响应(任务类)。启动云服务器请求参数中,必须以“os-start”字段下发用户在创建云服务器或为云服务…

    2022年6月30日
    86
  • ntp网络时间协议_ntp网络时间协议特性

    ntp网络时间协议_ntp网络时间协议特性NTP是网络时间协议(NetworkTimeProtocol),它是用来同步网络中各个计算机的时间的协议。  原理:NTP要提供准确的时间,就必须有准确的时间来源,那可以用格林尼治时间吗?答案是否定的。因为格林尼治时间是以地球自转为基础的时间计量系统,但是地球每天的自转是有些不规则的,而且正在缓慢加速,因此,格林尼治时间已经不再被作为标准时间使用。新的标准时间,是由原子钟报时的

    2022年10月12日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号