wrapper.ignore_signals

Compatibilité :3.0.5
Éditions :Édition ProfessionnelleÉdition StandardÉdition Community
Plateformes :WindowsMac OSXLinuxAlpine LinuxFreeBSDSolarisIBM z/Linux

AVERTISSEMENT

NE MODIFIEZ AUCUN de ces paramètres à moins d'avoir lu la description de cette propriété. Des paramètres incorrects peuvent empêcher le Wrapper de fonctionner comme prévu.

Cette propriété contrôle si le Wrapper doit ignorer les signaux système. La valeur par défaut est "FALSE". Si elle est définie à TRUE (ignorer), le Wrapper ne répondra pas aux signaux "TERM" ou "INT" sous UNIX ni aux événements CTRL-C sous Windows.

Sur les systèmes UNIX, certains programmes de sauvegarde exécutés en tant que tâches cron envoient des signaux "TERM" à l'échelle du système, ce qui peut provoquer l'arrêt du Wrapper. Ces signaux peuvent être ignorés en définissant cette propriété à TRUE.

Dans la plupart des cas, il n'est pas nécessaire ni souhaitable de configurer manuellement cette propriété. Le script shell fourni avec le Wrapper peut être configuré pour arrêter le Wrapper en utilisant un fichier d'ancrage simplement en décommentant la propriété IGNORE_SIGNALS dans la partie supérieure du script. Le script démarrera et arrêtera alors le Wrapper avec la propriété wrapper.anchorfile activée. Le fichier d'ancrage permet au script de provoquer l'arrêt du Wrapper en le supprimant. La méthode normale consiste à envoyer au Wrapper un signal "TERM".

Si la commande 'console' est passée au script, pour s'exécuter dans le shell courant, il répondra toujours aux signaux système, y compris CTRL-C. Lorsque la commande 'start' est utilisée, le Wrapper sera lancé en tant que processus démon et ignorera tous les signaux "INT" et "TERM". Le Wrapper peut alors être arrêté en exécutant le script shell avec la commande 'stop' ou en supprimant manuellement le fichier d'ancrage.

Sous Windows, les événements SHUTDOWN et LOGOFF sont traités normalement quelle que soit la valeur de cette propriété. Le système tuerait de toute façon l'application si elle ne se termine pas dans les délais. Notez que les événements LOGOFF sont toujours ignorés si le Wrapper s'exécute en tant que service Windows.

Exemple : (ignorer les signaux)
wrapper.ignore_signals=TRUE

Si la propriété IGNORE_SIGNALS n'est pas utilisée conjointement avec la propriété wrapper.anchorfile, alors le Wrapper ignorera les signaux système et n'aura aucun moyen d'être arrêté. Dans de tels cas, c'est à l'application Java de fournir un mécanisme pour arrêter l'application. Cela se fait en appelant soit WrapperManager.stop() soit System.exit().

NOTE

Si vous prévoyez de définir cette propriété manuellement, il est recommandé d'attendre que la capacité de votre application à s'arrêter de manière fiable par elle-même ait été pleinement testée.

AVERTISSEMENT

Si cette propriété est définie à TRUE (ignorer les signaux), vous ne pourrez pas indiquer au Wrapper de quitter de l'extérieur. Sous Windows, CTRL-C ne fonctionnera plus ; sous UNIX, CTRL-C ou les signaux "kill" habituels seront également ignorés. Cela signifie que sous UNIX, les scripts fournis avec le Wrapper ne pourront pas arrêter la JVM sauf si la propriété IGNORE_SIGNALS dans le script a été décommentée avant de démarrer le Wrapper.

Sous UNIX, le processus peut toujours être arrêté de force à l'aide d'un signal "kill -9", mais cela tuera le Wrapper tout en laissant la JVM en cours d'exécution. La JVM se terminera d'elle-même une fois son timeout de ping expiré mais toute la sortie console après que le Wrapper a été tué sera perdue.

Sous Windows, le Wrapper et sa JVM peuvent être tués de force depuis le Gestionnaire des tâches si le Wrapper a été exécuté en tant qu'application console. S'il s'exécute en tant que service Windows, le Wrapper peut toujours être arrêté normalement.

NOTE

Il est également possible de définir cette propriété à WRAPPER, JAVA ou BOTH, pour contrôler si la fonctionnalité d'ignorance des signaux doit être appliquée au processus Wrapper, au processus Java, ou aux deux processus. Ces valeurs sont principalement utiles uniquement pour les tests.

Référence : Signal