Безопасно ли отправлять SIGTERM в JVM?
Хотя JVM будеттранслировать SIGTERM и аналогичные сигналы на крюки отключениямногие сценарии завершения работы службы используют порт TCP для инициирования завершения работы. (например, порт отключения Tomcat,Java Service WrapperИнтерфейсы управления JBoss и т. Д.)
Поэтому я думал, что использование сигналов и перехватчиков для корректного завершения работы Java-сервисов не рекомендуется, пока я не обнаружил, чтоИграть! фреймворк управляет жизненным циклом сервиса с помощью перехватчиков и сценарии запуска, сгенерированныеplay dist
предполагается, что сигнал будет отправлен на PID JVM.
Я знаю, что сигналы зависят от платформы, и использование порта TCP - это простой и расширяемый способ управления службами кросс-платформенным способом, но я хотел бы знать, насколько он безопасен и какие риски мне необходимо учитывать, когда я полагаюсь на SIGTERM и ловушках отключения в качестве основного метода для отключения службы.