#java #intellij-idea #executorservice #interrupt-handling
#java #intellij-идея
Вопрос:
Когда я запускаю свою программу в IntelliJ, а затем использую кнопку «СТОП», она не вызывает созданные мной перехваты завершения работы. Есть ли в IntelliJ способ вызвать их при завершении работы?
Ответ №1:
Вам нужно использовать кнопку выхода на панели запуска, а не кнопку остановки. Обратите внимание, что он будет работать только при запуске и не будет работать при отладке.
Вот скриншот, если вы не можете его найти:
Эта функция использует код, зависящий от платформы, и в настоящее время работает только в Windows и Linux. Как только IDEA-56273 будет исправлена, эта функция также должна быть доступна на Mac.Это исправлено в версии IDEA 10.5.
Комментарии:
1. хм, я совершенно не понимаю, где находится кнопка «Выход», у вас случайно нет под рукой скриншота? большое спасибо
2. Обновил мой ответ скриншотом.
3. Получение дампов потока и выполнение корректного завершения работы зависит от встроенного компонента, который в настоящее время недоступен для платформы Mac. Обновил мой ответ.
4. Вы знаете, почему это недоступно из отладчика?
5. Работает в Windows с Intellij 13.1.3, а также не имеет этой кнопки.
Ответ №2:
Если вы используете Mac (и я предполагаю, что Linux), получите pid и используйте kill из терминала. Это дополнительный шаг, но он работает для отладки обработчика завершения работы, когда вам нужно.