java jps_java11教程--jps命令_章鱼老师的博客-程序员宝宝

技术标签: java jps  

您可以使用该jps命令列出目标系统上已检测的JVM。

概要

注意: 此命令是实验性的,不受支持。

jps [-q] [-mlvV][hostid]**

jps [-help]

-q

抑制类名,JAR文件名和传递给该main方法的参数的输出,从而仅生成本地JVM标识符的列表。

-mlvV

-m显示传递给main方法的参数。输出可能是null针对嵌入式JVM的。

-l显示应用程序main类的完整软件包名称或应用程序JAR文件的完整路径名称。

-v 显示传递给JVM的参数。

-V禁止输出类名,JAR文件名和传递给该main方法的参数的输出,从而仅生成本地JVM标识符的列表。

hostid

应为其生成过程报告的主机的标识符。的hostid可以包括指示所述通信协议,端口号,和其它实施方式特定的数据的可选组件。请参阅主机标识符。

-help

显示jps命令的帮助消息。

描述

该jps命令列出了目标系统上已检测到的Java HotSpot VM。该命令仅限于报告有关其具有访问权限的JVM的信息。

注意: 当附加到在单独的docker进程中运行的Java进程时,JDK 10添加了对使用Attach API的支持。但是,该jps工具无法看到在单独的docker实例中运行的JVM进程。如果尝试将Linux主机与docker容器中的虚拟机连接,则必须使用诸如ps 查找JVM的PID的工具,然后在接受该PID的工具的命令行上指定PID。

如果jps运行该命令时未指定hostid,则它将在本地主机上搜索检测到的JVM。如果以开头hostid,则它将使用指定的协议和端口在指示的主机上搜索JVM。一个jstatd假设的过程要在目标主机上运行。

该jps命令报告lvmid在目标系统上找到的每个检测到的JVM 的本地JVM标识符,或。的lvmid是典型地但不是必须地,操作系统的对于JVM进程进程标识符。不带任何选项的jps命令将列出每个Java应用程序,lvmid后跟该应用程序的类名或JAR文件名的缩写。类名或JAR文件名的缩写形式省略了类的包信息或JAR文件路径信息。

该jps命令使用Java启动器来查找传递给main方法的类名和参数。如果目标JVM是使用自定义启动器启动的,则该类或JAR文件名以及该main方法的参数将不可用。在这种情况下,jps命令输出Unknown用于类名或JAR文件名以及main方法参数的字符串。

该jps命令生成的JVM列表可以受授予运行该命令的主体的权限的限制。该命令仅列出由特定于操作系统的访问控制机制确定的主体对其具有访问权限的JVM。

主机识别码

主机标识符或hostid,是指示目标系统的字符串。所述的语法hostid串对应于URI的语法:

[protocol:][[//]hostname][:port][/servername]

protocol

通信协议。如果protocol省略hostname且未指定a,则默认协议为特定于平台的优化本地协议。如果省略协议,并且指定了主机名,则默认协议为rmi。

hostname

指示目标主机的主机名或IP地址。如果省略该hostname参数,则目标主机为本地主机。

port

与远程服务器通信的默认端口。如果hostname省略参数或protocol参数指定优化的本地协议,则将port忽略该参数。否则,port参数的处理是特定于实现的。对于默认rmi协议,该port参数指示rmiregistry远程主机上的端口号。如果port省略该参数,并且该protocol参数指示rmi,则使用默认rmiregistry端口(1099)。

servername

此参数的处理方式取决于实现方式。对于优化的本地协议,将忽略此字段。对于rmi协议,此参数是一个字符串,代表远程主机上RMI远程对象的名称。请参见jstatd命令-n选项。

jps命令的输出格式

jps命令的输出具有以下模式:

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

所有输出令牌都由空格分隔。arg尝试将参数映射到其实际位置参数时,包含嵌入式空格的值会引起歧义。

注意: 建议您不要编写脚本来分析jps输出,因为格式可能会在将来的版本中更改。如果编写用于解析jps输出的脚本,则期望在此工具的将来版本中对其进行修改。

例子

本节提供了使用jps命令的示例。

列出本地主机上已检测的JVM:

jps

18027 Java2Demo.JAR

18032 jps

18005 jstat

以下示例列出了远程主机上的检测JVM。本示例假定jstat服务器及其内部RMI注册表或单独的外部rmiregistry进程在默认端口(port 1099)的远程主机上运行。它还假定本地主机具有访问远程主机的适当权限。此示例包括-l用于输出类名或JAR文件名的长格式的选项。

jps -l remote.domain

3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR

2857 sun.tools.jstatd.jstatd

下面的示例列出了具有RMI注册表非默认端口的远程主机上的检测JVM。本示例假定jstatd服务器(内部RMI注册表绑定到port 2002)在远程主机上运行。本示例还使用该-m选项来包含传递给main每个列出的Java应用程序的方法的参数。

jps -m remote.domain:2002

3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR

3102 sun.tools.jstatd.jstatd -p 2002

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_31445091/article/details/114399966

智能推荐

linux hd4000显卡驱动,AMD Radeon HD 2000/HD 3000/HD 4000系列显卡驱动怎么样_岩不言的博客-程序员宝宝

20楼 华军网友 :2017-06-01 发表下载完AMD Radeon HD 2000/HD 3000/HD 4000系列显卡驱动以后提示有毒?是我电脑的问题还是软件的问题啊,不应该有这种情况。19楼 华军网友 :2017-04-10 发表感觉还不错,AMD Radeon HD 2000/HD 3000/HD 4000系列显卡驱动12.6 For Linux比上个版本要好的多18楼 华军网友...

matlab求一维数据的信息熵_乱搭巴士的博客-程序员宝宝_matlab求信息熵

调用的函数:function Hx=yyshang(y,duan)x_min=min(y);x_max=max(y);maxf(1)=abs(x_max-x_min);maxf(2)=x_min;duan_t=1.0/duan;jiange=maxf(1)*duan_t;% for i=1:10% pnum(i)=length(find((y_p>=(i-1)*jiange)&(y_p% endpnum(1)=length(find(y<ma

oracle回滚操作_tornado45的博客-程序员宝宝_oracle中回滚

select * from t_newstype-----------------------------------savepoint s_1;//设置一个保存点insert into t_newstype(typename) values ('qq');savepoint s_2;//设置保存点2insert into t_newstype(typename) values (...

进击的云原生,为开发者提供更多可能性_阿里加多的博客-程序员宝宝

作者|易立 阿里云容器服务负责人背景云原生是云计算发展的必然产物,而云原生的持续生长也绝非偶然。2021年,云原生呈现怎样的面貌、又带来了哪些新变化?阿里云容器服务研发总监易立近日在阿里云...

virtualBox安装虚拟机_zhsjian的博客-程序员宝宝

一:下载CentOS7的镜像下载地址:https://www.centos.org/download/根据自己的系统下载对应的镜像文件我下载的是:CentOS-7-x86_64-DVD-1810.iso二:创建虚拟机2.1、选择linux版本注:如果无法选择对应64位系统,说明电脑没有打开cpu虚拟化选项。开启虚拟化共功能方法:开机–》BIOS–》Configuration–》In...

随便推点

学习python的第二十二天_简讯Alfred的博客-程序员宝宝

python可以使用class创建更棒的“函数字典”,比上节练习要强大的多。Class(类)有着各种各样强大的功能和用法,《笨办法学python》这本书涉及的不会太深。只要把它们当作高级的“函数字典”使用就可以了。用到class的编程语言被称作“Object Oriented Programming(面向对象编程)”语言。这是一种传统的编程方式,你需要做出“东西”来,然后

threeperson mackdown editor_iteye_6961的博客-程序员宝宝

        近日小生闲来无事,工作不是太多,利用业余时间学习了一下golang,并学以致用,搭建了个人的博客。博客后端基于beego framework,前端基于bootstrap。        由于博客功能仍在逐步完善,gopher看了我的博客,发现博文样式不错,问我如何实现的,我在此简单概述一下实现方式。         threeperson博文创建主要依赖Bootstr...

快速搭建你的第一个vue-router_Treasure°的博客-程序员宝宝

首先安装vue-routernpm install vue-router安装之后在index.js里引入vue-routerimport Vue from "vue";import VueRouter from "vue-router";import App from "./App";import IndexPage from "./pages/index.vue";import DencitySetModal from "./pages/DencitySetModal.vue";Vue

Springboot实现服务启动后执行_疯狂撸代码的奋青的博客-程序员宝宝

CommandLineRunner作用需要实现在服务启动后执行的功能,SpringBoot提供的一种简单的实现方案就是实现CommandLineRunner接口,实现功能的代码放在实现的run方法中栗子SpringBoot在项目启动后会遍历所有实现CommandLineRunner的实体类并执行run方法,如果需要按照一定的顺序去执行,那么就需要在实体类上使用一个@Order注解(或者实现Order接口)来表明顺序;执行优先级是按value值从小到大顺序。package org.spring

char 指针操作char数组_nudt_qxx的博客-程序员宝宝_char指针转char数组

#include <iostream>#include <stdlib.h>#include <cstring>using namespace std;int main(){ char a[10],*p; int m=1,n=3; cout<<"please enter your string:"<<endl; cin>>a; int len=strle

Kubernetes(K8s)从入门到精通_NUAA_CJX的博客-程序员宝宝_k8s入门到精通

K8s从入门到精通一、Docker背景和K8s介绍1.1 应用部署方式演变1.2 K8s介绍1.3 K8s组件1.4 K8s概念二、集群环境搭建一、Docker背景和K8s介绍1.1 应用部署方式演变部署方式传统部署虚拟化部署容器化部署概念直接将应用部署在物理机上在一台物理机上运行多个虚拟机,每个虚拟机是一个独立的环境与虚拟机类似,但是共享了操作系统优点简单应用环境不会相互影响,有一定的安全性保证每个容器有自己的文件系统、CPU、内存等缺点很难合理分配

推荐文章

热门文章

相关标签