Java命令:jps

您所在的位置:网站首页 开启进程保护的命令是什么 Java命令:jps

Java命令:jps

2024-04-10 10:58| 来源: 网络整理| 查看: 265

文章目录 一、简介二、常用命令1、jps2、jps -l3、jps -q4、jps -m5、jps -v6、jps失效

一、简介

JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程。

功能: 显示当前所有java进程pid的命令,我们可以通过这个命令来查看到底启动了几个java进程(因为每一个java程序都会独占一个java虚拟机实例)。

缺点: 不过jps有个缺点是只能显示当前用户的进程id,要显示其他用户的还只能用linux的ps命令。

jps -help

输出结果:

root@yzh-zabbix-server:bin #jps -help usage: jps [-help] jps [-q] [-mlvV] [] Definitions: : [:]

命令格式:

jps [options] [hostid]

option参数:

参数说明-l输出主类全名或jar路径-q只输出LVMID-m输出JVM启动时传递给main()的参数-v输出JVM启动时显示指定的JVM参数

其中 [option]、[hostid] 参数也可以不写。

二、常用命令 1、jps

列出所有正在运行的java进程,其中jps命令也是一个java程序,前面的数字就是对应的进程id。

jps

输出结果:

root@yzh-zabbix-server:bin #jps 2153 Bootstrap 2697 Jps 2、jps -l

输出应用程序main.class的完整package名或者应用程序jar文件完整路径名。

jps -l

输出结果:

root@yzh-zabbix-server:bin #jps -l 2496 sun.tools.jps.Jps 2153 org.apache.catalina.startup.Bootstrap 3、jps -q

只输出LVMID。

jps -q

输出结果:

1282 24034 7763 24035 7765 45529 427 10174 4、jps -m

输出JVM启动时传递给main()的参数。

jps -m

输出结果:

10256 Jps -m 1282 24034 RemoteMavenServer36 7763 Launcher /Applications/IntelliJ IDEA.app/Contents/lib/netty-common-4.1.52.Final.jar:/Applications/IntelliJ IDEA.app/Contents/lib/netty-resolver-4.1.52.Final.jar:/Applications/IntelliJ 24035 RemoteMavenServer36 7765 Bootstrap start 45529 427 5、jps -v

输出传递给JVM的参数。

jps -v

输出结果:

root@yzh-zabbix-server:bin #jps -v 2153 Bootstrap -Djava.util.logging.config.file=/data/livy/zhengzhouyh/apache-tomcat-7.0.87/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -javaagent:/data/livy/zhengzhouyh/JavaAgent_2.7.0_zzbank/lib/agent.jar -Djava.rmi.server.hostname=10.0.1.21 -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=18999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dignore.endorsed.dirs= -Dcatalina.base=/data/livy/zhengzhouyh/apache-tomcat-7.0.87 -Dcatalina.home=/data/livy/zhengzhouyh/apache-tomcat-7.0.87 -Djava.io.tmpdir=/data/livy/zhengzhouyh/apache-tomcat-7.0.87/temp -agentpath:/opt/dynatrace/oneagent/agent/lib64/liboneagentloader.so=loglevelcon=none,tenant=qng16405,tenanttoken=VpaYLCqHrkVjEFBd,server=https://sg-us-west-2-34-214-95-212-prod16-oregon.live.ruxit.com/communication;https://sg-us-west-2-34-208-246-192-prod16-oregon.live.ruxit.com/communication;https://sg-us-west-2-35-161-237-123-prod16- 2860 Jps -Dapplication.home=/usr/local/jdk1.8.0_144 -Xms8m

在这里插入图片描述

6、jps失效

我们在定位问题过程会遇到这样一种情况,用 jps 查看不到进程id,用 ps -ef | grep java 却能看到启动的java进程。

要解释这种现象,先来了解下 jps 的实现机制:

java程序启动后,会在目录 /tmp/hsperfdata_{userName}/ 下生成几个文件,文件名就是java进程的 pid ,因此jps列出进程id就是把这个目录下的文件名列一下而已,至于系统参数,则是读取文件中的内容。

我们来思考下:

由于磁盘满了,无法创建这些文件;

用户对这些文件没有读的权限;

因为某种原因这些文件或者目录被清除;

出现以上这些情况,就会导致jps命令失效。

如果jps命令失效,而我们又要获取pid,还可以使用以下两种方法:

top | grep java ps -ef |grep java


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3