Я думаю, что отказ от ответственности существует только для kill -9
, так что вы не полагаетесь на то, что вызывается обработчик отключения, чтобы поддерживать согласованность ваших данных.
Так что, если процессу разрешеновоздействуя на сигнал ОС, вызывается ловушка завершения работы, что довольно очевидно, если вы знаете, как работает ОС, но, возможно, не всем разработчикам Java.
На самом деле это подробно объясняется в javadoc .
Также следует иметь в виду, что в виртуальной машине может быть зарегистрировано несколько перехватчиков отключения, поэтому у вас может не быть перемычка отключения, только одна из нескольких.