Как я могу подавить создание файла hs_err_pid?
Вопрос
Мы используем приложение Java под Java 1.6.0_13. Когда это вылетает, это создает нормальный файл hs_err_pid. Я не хочу, чтобы этот файл создал, даже если приложение вылетает. Есть ли путь на командной строке Java, чтобы подавить это? Я знаком с -xx: Errorfile вариант. Если я настрою это в пустую строку, это будет подавлять его?
Решение
Если вы используете систему Unix / Linux, попробуйте настроить -XX:ErrorFile
к /dev/null
(или, если вы используете Windows, попробуйте NUL
).
Другие советы
С Oracle Hotspot (поскольку 6b21
) и OpenJDK, -XX:+SuppressFatalErrorMessage
Опция должна быть использована для предотвращения создания hs_err_pid
файл.
В наши дни, используя -XX:ErrorFile=/dev/null
на самом деле не будет работать, как ожидалось, поскольку если файл указан ErrorFile
существует, JVM не попытается перезаписать его и отступит к дефолту hs_err_pid
Расположение (нет особых обработчиков дела для /dev/null
).
Для получения более подробной информации см. Также:
- Почему Java проигнорировал вариант "-xx: errorfile = / dev / null"?
- Билет Oracle, JDK-6194668: Добавить флаг Java Runtime
SuppressFatalErrorMessage
Пропустить все ошибки Обработка логики на фатальной ошибке - Билет OpenJDK, JDK-8189672:
-XX:ErrorFile
не работает.