2010-07-29 34 views

cevap

9

Bunun için bir shutdown hook kullanmayı deneyebilirsiniz.

  • program normal VM

Bu ^C durumunu kapsayan sonlandırılır

  • çıkar, fakat şüpheyle gibi durumları kapsayacak: belgelerine bakıldığında, kanca aşağıdaki koşullarda çalıştırılacaktır Makinenin fişi çekilmiyor (makinede yedek donanımın bir kısmı engelleniyor). Tasarımla ilgili bazı notlar şunlardır:

    Here.

    Ham örnek:

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

    Ben 'SIGTERM' CTRL + C üzerinde çalışan ve düşünüyorum ama bu alışkanlık olduğunu olabilir –

    +2

    gördüğüm gömülü sistemler çalıştırmak programı öldürmek için başka yollar olduğunu düşünüyorum Aslında bir güç kaybı olayını günlüğe kaydeder. Oldukça büyük bir kapasitöre ve oldukça küçük bir kesinti servisi rutine ihtiyacınız var, ancak bu yapılabilir. –

    +2

    Başka bir alternatif, başarılı kapatmaların kaydedilmesi ve programın son çalışmasının başarıyla kapatıldığını kontrol etmektir. –

    İlgili konular