wrapper.ignore_signals

Compatibility :3.0.5
Editions :Professional EditionStandard EditionCommunity Edition
Platforms :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/Linux

WARNING

DO NOT modify any of these parameters unless you have read this property description. Incorrect settings can cause the Wrapper to fail to operate as expected.

This property controls whether or not the Wrapper should ignore system signals. The default value is "FALSE". If this is set to TRUE (ignore), the Wrapper will not respond to "TERM" or "INT" signals on UNIX or CTRL-C events on Windows.

On UNIX systems, some backup programs that run as cron jobs will send out system-wide "TERM" signals that can cause the Wrapper to shutdown. These signals can be ignored by setting this property to TRUE.

In most cases, it is not necessary or desirable to manually configure this property. The shell script that is shipped with the Wrapper can be configured to stop the Wrapper by using an anchor file by simply uncommenting the IGNORE_SIGNALS property at the top section of the script. This will cause the script to start and stop the Wrapper with the wrapper.anchorfile property enabled. The anchor file makes it possible for the script to cause the Wrapper to shutdown by deleting it. The normal method is to send the Wrapper a "TERM" signal.

If the script is passed the 'console' command, to run in the current shell, it will still respond to system signals, including CTRL-C. When the 'start' command is used, the Wrapper will be launched as a Daemon process and will ignore all "INT" and "TERM" signals. The Wrapper can then be stopped by executing the shell script with the 'stop' command or by manually deleting the anchor file.

On Windows, SHUTDOWN and LOGOFF events are handled normally regardless of the value of this property. The system would kill the application in any event should it fail to exit in a timely manner. Note that LOGOFF events are always ignored if the Wrapper is running as a Windows Service.

Example: (ignore signals)
wrapper.ignore_signals=TRUE

If the IGNORE_SIGNALS property is not used in conjunction with the wrapper.anchorfile property, then the Wrapper will ignore system signals and not have any way to shut it down. In such cases is it the responsibility of the Java application to provide a mechanism for shutting down the application. This is done by either calling WrapperManager.stop() or System.exit().

NOTE

If you are planning on setting this property manually, It is suggested that you wait until your application's ability to reliably shutdown on its own has been fully tested.

WARNING

If this property is set to TRUE (ignore signals), then you will not be able to tell the Wrapper to quit externally. On Windows, CTRL-C will no longer function; on UNIX systems, CTRL-C or regular "kill" signals will also be ignored. This means that on UNIX, the scripts shipped with the Wrapper will not be able to stop the JVM unless the IGNORE_SIGNALS property in the script was uncommented before starting the Wrapper.

On UNIX, the process can still be forcibly stopped using a "kill -9" signal, but doing so will kill the Wrapper but leave the JVM running. The JVM will exit on its own after its ping timeout has expired but all console output after the Wrapper was killed will be lost.

On Windows, the Wrapper and its JVM can be forcibly killed from the Task Manager if the Wrapper was run as a console application. If run as a Windows Service, the Wrapper can still be stopped normally.

NOTE

It is also possible to set this property to WRAPPER, JAVA, or BOTH, to control whether ignore signals functionality should be applied to the Wrapper process, Java process, or both processes. These values are primarily useful only for testing.

Reference: Signal