Ist es sicher, SIGTERM an JVM zu senden?

Obwohl JVM wirdSIGTERM und ähnliche Signale in Shutdown Hooks übersetzenViele Skripts zum Herunterfahren von Diensten verwenden einen TCP-Port, um das Herunterfahren zu initiieren. (z. B. Tomcats Shutdown-Port,Java Service Wrapper, JBoss-Verwaltungsoberflächen usw.)

Daher dachte ich, dass die Verwendung von Signalen und Shutdown-Hooks zum ordnungsgemäßen Herunterfahren von Java-Diensten nicht empfohlen wird, bis ich dies feststellteAbspielen! Framework verwaltet den Servicelebenszyklus mit Shutdown-Hooks und die von generierten Startskripteplay dist geht davon aus, dass ein Signal an die PID der JVM gesendet wird.

Ich weiß, dass Signale plattformabhängig sind und die Verwendung eines TCP-Ports eine einfache und erweiterbare Möglichkeit zur plattformübergreifenden Verwaltung von Diensten darstellt. Ich möchte jedoch wissen, wie sicher diese sind und welche Risiken ich in Betracht ziehen muss, wenn ich mich verlasse on SIGTERM und Shutdown Hooks als primäre Methode zum Herunterfahren von Diensten.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage