Я прототипирую параллельную/распределенную систему в Java. Когда процесс завершается (например, ctrl + c в командной строке или красной кнопке в Eclipse), я хотел бы передать сообщение другим процессам (одному окончательному методу), прежде чем он исчезнет. Пробовал делать это с finalize(), но безрезультатно. Просто чистая Java с потоками, сокетами и основным контуром. Благодарю.Java выполняет окончательное действие после завершения программы?
ответ
Вы пытались использовать Runtime.addShutdownHook
?
Примечания части в документации, указывающей, что иногда JVM может прервать без выполнения завершения работы крюков - это должно быть использовано в качестве части изящного отключения, но не следует считать всегда перспективе. (Предположим, что, если ваша сеть внезапно отключена, например, вы не можете транслировать прощальное сообщение в этом случае.)
Отлично, спасибо всем! – mstath
Вы можете использовать Runtime.addShutdownHook()
.
Runtime.addShutdownHook()
- это то, что вы ищете.
Runtime.addShutdownHook() - это то, что вы хотите. Это выполняется только в том случае, если JVM отключается нормально
- 1. AngularJS выполняет действие после $ scope.emit
- 2. Qt: Действие после завершения QMediaPlayer
- 3. Ошибка сегментации после завершения программы
- 4. Java TableModel выполняет сбой программы
- 5. Javascript выполняет действие после окончания анимации
- 6. Остановка программы после выхода после завершения
- 7. Цикл Parallel.For не выполняет код после завершения
- 8. Java выполняет следующую задачу до завершения финиша
- 9. Java Runtime программы выполняет с задержкой
- 10. Результат отображается только после завершения выполнения программы в java
- 11. Alertdialog автоматически выполняет действие после таймера
- 12. Разрабатывают не выполняет действие после кастомизации перенаправляет
- 13. TreeCellEditor выполняет действие после редактирования ячейки
- 14. PHP выполняет действие после определенного времени
- 15. Запустить действие после завершения работы AsyncTask
- 16. Wix -Пользовательское действие после завершения установки
- 17. console.log() работает бесконечно даже после завершения завершения программы
- 18. Перезагрузка через несколько секунд после завершения программы
- 19. Сохранение рисунков matplotlib после завершения программы
- 20. Исключения исключены (с ошибками) После завершения программы
- 21. Объект C++, повторно инициализированный после завершения программы
- 22. Повторно открыть окна Finder после завершения программы
- 23. C# console не закрывается после завершения программы
- 24. Visual studio 2010, выходящий после завершения программы
- 25. Состояние потоков после завершения выполнения программы
- 26. Продолжить выполнение программы, после завершения ssh
- 27. Выполнение программы снова, после завершения (Python)
- 28. Утечки памяти Java - очищено от завершения программы?
- 29. Как запустить действие после закрытия программы?
- 30. Curl не выполняет действие
См. Http://stackoverflow.com/questions/914666/how-to-capture-system-exit-event – bithead61