Có cách nào để nhận thông báo về việc JVM tắt hoặc gọi System.exit trước khi tắt máy thực sự không? Tôi muốn điều này, vì vậy ứng dụng của tôi sẽ có thể thực hiện lối thoát sạch. Tôi nhận ra rằng điều đó dường như không tồn tại, nhưng vẫn còn, có lẽ có cái gì đó như thế này?Chặn cuộc gọi tắt máy java?
5
A
Trả lời
11
Có một cái nhìn tại Runtime.addShutdownHook
Từ các tài liệu API:
Các máy ảo Java tắt để đáp ứng với hai loại sự kiện:
- Chương trình thoát bình thường, khi người cuối cùng không thoát daemon hoặc khi lối ra (tương đương, System.exit) được gọi, hoặc
- Máy ảo bị chấm dứt để phản hồi người dùng bị gián đoạn, chẳng hạn như gõ^C hoặc hệ thống sự kiện toàn diện, chẳng hạn như đăng xuất người dùng hoặc tắt hệ thống.
Sử dụng Runtime.addShutdownHook
bạn có thể chạy mã trong những trường hợp đó.
3
Có phương thức Runtime.getRuntime().addShutdownHook()
mà bạn có thể muốn khám phá.
Các vấn đề liên quan
- 1. Chặn cuộc gọi lại với EXC_BAD_ACCESS
- 2. Chặn cuộc gọi đến console.log trong Chrome
- 3. EINTR và các cuộc gọi không chặn
- 4. Chặn cuộc gọi jQuery.ajax() với xác nhận()
- 5. Cách tắt tiếng cuộc gọi đến
- 6. Tắt máy Tomcat RẤT chậm sau khi gọi tắt máy.
- 7. Chặn cuộc gọi đến và sms trong android
- 8. Adobe Acrobat chặn mọi URL từ cuộc gọi đến BasicService.showDocument() trong java
- 9. Truy tìm cuộc gọi hệ thống chặn C
- 10. Tùy chỉnh mã hóa cuộc gọi GSM
- 11. Ngăn chặn cuộc gọi của một hàm tạo riêng từ bên trong lớp trong Java
- 12. ScheduledExecutorService: khi tắt máy nên được gọi?
- 13. Đánh chặn động các cuộc gọi trong .NET
- 14. Futures để chặn các cuộc gọi trong Scala
- 15. Python: Cách chặn cuộc gọi phương thức không tồn tại?
- 16. Dừng một chủ đề bị kẹt tại cuộc gọi chặn
- 17. Lệnh chuyển hướng/chặn cuộc gọi trong chức năng gói
- 18. Profiling Java chạy bằng JNI cuộc gọi
- 19. Cuộc gọi Collections.checkedList() trong java là gì?
- 20. Dấu vết cuộc gọi trong java
- 21. Truy cập ngăn xếp cuộc gọi Java
- 22. Ngăn chặn các cuộc tấn công MITM trên máy chủ
- 23. Xác định địa chỉ IP của máy khách từ xa cho cuộc gọi Java RMI
- 24. làm thế nào để tiêu diệt một chuỗi đang đợi chức năng chặn cuộc gọi trong Java?
- 25. Java API để thực hiện cuộc gọi điện thoại
- 26. Tại sao bộ chặn đánh chặn DynamicProxy không được gọi cho mỗi cuộc gọi phương thức ảo?
- 27. cách sử dụng ContextBoundObject để chặn cuộc gọi hàm trước/sau khi gọi?
- 28. Tôi có thể ngăn chặn window.onbeforeunload không được gọi khi thực hiện cuộc gọi AJAX
- 29. đa hình cuộc gọi
- 30. Chặn bộ đệm Java BufferedReader?
Hoan hô! Bạn thực sự đã giúp tôi! – Rogach