java - 为什么java忽略选项 "-XX:ErrorFile=/dev/null"

标签 java jvm java-native-interface

我想防止 JVM 生成崩溃日志文件,所以我的启动脚本如下所示

java -XX:ErrorFile=/dev/null MyClass

但是当jvm崩溃时,当前工作目录中仍然会生成日志文件“hs_err_pidXXXXX.log”。为什么?

操作系统:ubuntu 18.04,java版本:oracle java 10

最佳答案

如果指定给 -XX:ErrorFile 的文件存在或无法打开,则 JVM 会回退到默认的 hs_err_pid 错误文件路径。由于 /dev/null 可能存在,这可以解释这种行为。

我浏览了OpenJDK JVM源码,对应Oracle的HotSpot,报错代码中似乎没有对/dev/null这方面进行特殊处理。

有关 JVM 维护人员的更多详细信息和评论,请参阅此 OpenJDK 错误报告: https://bugs.openjdk.java.net/browse/JDK-8189672

关于java - 为什么java忽略选项 "-XX:ErrorFile=/dev/null",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53782726/

相关文章:

java - 为什么我的Key中的 '1'位越多,放到HashMap中的时间就越长?

java - Java 中的孤立大小写错误

c - 如何使用 JNI 打印宽字符

android - 在 Android Studio 上将您自己的库与 JNA 结合使用

java - 包括使用 Gradle 构建的 Java 库会抛出 NoClassDefFoundError

JNI 库的 Android Studio 项目

java - 使用双正则表达式分割字符串java

java - 解码 xacml 响应时出错?

java - 卡尺 : JVM throws OutOfMemoryError Exception

java - 共享常量池?