Java jps 无法显示进程 id
Java jps 大约 480 字现象
Linux
上使用jps
查看进程id
,无法显示运行的Java
进程。
命令原理
jps
、jstack
、jcmd
等命令默认查看的是/tmp/hsperfdata_{username}
文件夹下的以进程id
命名的文件。
如:以root
用户启动的Java
服务,运行的进程id
为1
,生成的文件是:/tmp/hsperfdata_root/1
。
问题原因
jps
不显示进程id
可能原因如下:
/tmp
目录的读写权限问题。/tmp
被删除,或不存在/tmp/hsperfdata_{username}/{pid}
文件。/tmp
目录超过10
天或更长时间未读写,Linux
会自动删除该目录。
备注
/tmp/hsperfdata_{username}/{pid}
文件会在对应Java
进程退出后被清除。
如果Java
进程非正常退出(如kill -9
),那么pid
文件会被保留,直到执行一次Java
命令或是加载了JVM
程序的命令(如jps
、javac
、jstat
),会将所有无用的pid
文件都清除掉。
使用-Djava.io.tmpdir
启动参数可以更改默认/tmp
位置。
阅读 461 · 发布于 2023-06-27
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb扫描下方二维码关注公众号和小程序↓↓↓

昵称:
随便看看
换一批
-
Java jcmd 命令查看 JVM 各种信息阅读 1795
-
Docker 前世今生阅读 2718
-
Spring Boot 获取 resource 目录下的文件阅读 3197
-
Spring Boot 配置文件中设置 List 和 Map阅读 6166
-
PostgreSQL 修改字段属性阅读 2693
-
移动端使用 Chrome 开发者工具调试网页阅读 2499
-
Redis 提示没有权限阅读 3613
-
OpenResty 常用 HTTP 请求 API阅读 5499
-
Prometheus+Alertmanager 搭建告警系统阅读 1545
-
Android WebView 启用安全浏览模式阅读 3503