jpq

功能
显示当前系统的java进程情况,及其id号,但仅限于当前用户.
查找所有java应用程序,包括即使没有使用java执行体.
原理
java程序在启动以后,会在java.io.tmpdir指定的目录下,就是临时文件夹里,生成一个类似于hsperfdata_User的文件夹,这个文件夹里(在Linux中为/tmp/hsperfdata_{userName}/),有几个文件,名字就是java进程的pid,因此列出当前运行的java进程,只是把这个目录里的文件名列一下而已。 至于系统的参数什么,就可以解析这几个文件获得。

使用参数:
-help
usage: jps [-help]
jps [-q] [-mlvV] []

Definitions:
    <hostid>:      <hostname>[:<port>]
-q 只显示pid,不显示class名称,jar文件名和传递给main方法的参数
-m 输出传递给main方法的参数,在嵌入式jvm上可能是null.
-l 输出应用程序main class 的完成package名 或者 应用程序的jar文件完整路径名.
-v 输出传递给jvm的参数

jps 失效
问题:jps无法查看进程,原因在于数据来源于文件,而当文件不存在或无法读取,则会导致jps无法查看,jconsole无法监控.
原因
1.磁盘读写/目录权限问题.无法创建或者无权限读取.
2.临时文件丢失,被删除或者服务器定时清理,.
3.java进程信息文件存储地址被修改.

发布了9 篇原创文章 · 获赞 0 · 访问量 42

猜你喜欢

转载自blog.csdn.net/jiangxiayouyu/article/details/105606054
jpq
JPA
jps
jq
pq