解决 Problematic frame: C [sigar-amd64-winnt.dll+0x14ed4] 问题 (JDK11 后版本生成 JRE, 得到当前进程)

1. 主要由于 JDK 版本问题

Java 版本中 1.8.0_1311.8.0_241 都适合, 在 jdk1.8.0_261 包括在内以及以上不适合

2. Linux 下 11 版本的都合适

这个我也不知为何, Linux 下 Java11 可以, Windows 就不可以.
开始我以为是没有 Java11 下没有 JRE. 结果不是.

2.1 JDK11 后版本添加 JRE

在 JDK 根目录下运行下面的命令便可生成 JRE

bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre

3. 其他方法

除了降低版本我没有找到有用的资源.

运用 new Siger().kill(pid, 15) 想法: 杀掉 PID 进程. 结果没成功.

// 得到当前 PID
RuntimeMXBean runtime = ManagementFactory.getRuntimeMXBean();
String name = runtime.getName();
System.out.println(name);
System.out.println("Process ID: " + name.substring(0, name.indexOf("@")));
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值