2010-07-29 35 views

Trả lời

9

Bạn có thể thử và sử dụng shutdown hook cho việc này. Từ các tài liệu, móc sẽ được thực hiện trong các trường hợp sau đây:

  • Chương trình thoát bình thường
  • Máy ảo này sẽ chấm dứt

này đề cập đến tình hình ^C của bạn, nhưng ngờ vực sẽ bao gồm những tình huống như máy được rút phích cắm (chặn một số loại phần cứng dự phòng trên máy).

Here là một số lưu ý về thiết kế.

dụ thô:

Runtime.getRuntime().addShutdownHook(new Thread() { 
    @Override 
    public void run() { 
     System.out.println("System was shutdown"); 
    } 
}); 
+0

Tôi nghĩ rằng nó sẽ chạy trên CTRL + C và 'SIGTERM' nhưng tôi nghĩ rằng có nhiều cách khác để diệt các chương trình nơi này sẽ không chạy –

+2

hệ thống nhúng I have seen that thể thực sự đăng nhập một sự kiện mất điện. Cần một tụ điện khá lớn và một dịch vụ gián đoạn dịch vụ khá nhỏ, nhưng nó có thể được thực hiện. –

+2

Một cách khác là đăng nhập tắt máy thành công và kiểm tra khi khởi động mà lần chạy cuối cùng của chương trình đã được tắt thành công. –

Các vấn đề liên quan