解决 Problematic frame: C [sigar-amd64-winnt.dll+0x14ed4] 问题
1. 主要由于 JDK 版本问题
Java 版本中
1.8.0_131
到1.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("@")));