How can I suppress the creation of the hs_err_pid file?
Asked Answered
A

2

5

We are running a java application under java 1.6.0_13. When it crashes it creates the normal hs_err_pid file. I don't want this file created even if the application crashes. Is there a way on the java command line to suppress this? I am familiar with -XX:ErrorFile option. If I set this to an empty string will that suppress it?

Albino answered 10/11, 2010 at 21:1 Comment(2)
You could probably test it out by causing a JVM crash via JNI (just create a little C library that segfaults) or something similar. Feels kind of gross considering suppressing log output for such a critical failure as a JVM crash though.Aquilar
If using Linux you can use the command kill to send a SIGSEGV signal to test your fix.Titration
L
7

If you are using a Unix/Linux system, try setting -XX:ErrorFile to /dev/null (or, if you are using Windows, try NUL).

Lianaliane answered 10/11, 2010 at 21:34 Comment(2)
in which config file do I have to set -XX:ErrorFile to /dev/null in linux ?Jacintha
@MartinVegter I guess its JVM argumentProem
J
5

With Oracle HotSpot (since 6b21) and OpenJDK, the -XX:+SuppressFatalErrorMessage option should be used for preventing creation of the hs_err_pid file.

Nowadays, using -XX:ErrorFile=/dev/null will actually not work as expected, since if the file path specified to ErrorFile exists, the JVM will not attempt to overwrite it and will fall back to the default hs_err_pid location (there's no special case handling for /dev/null).

For more details, see also:

Janeejaneen answered 16/12, 2018 at 7:0 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.