2011-03-02 16 views
6

Windows'da bir güç kesintisi ile son önyüklemenin önceliğinin olup olmadığını algılamanın mümkün olup olmadığını bilen var mı?Windows kilitlenme veya powerfailure sonrasında yeniden başlatıldığında algıla

Bunu algılamak istediğim nedeni, diskimi sık sık değiştirdiğim dosyaların ne zaman yeniden taranacağını bilmek.

Normal bir başlangıç ​​varsa, kapatma işleminin düzgün gittiğinden ve bellek içi dosya arabelleklerinde bulunan verilerin diske akıtıldığından emin olabilirim.

cevap

1

Basit bir uygulama olarak, FILE_FLAG_DELETE_ON_CLOSE ile CreateFile (kesinlikle emin olmak için FlushFileBuffers takip eder) işe yaramaz mı?

Sistem temiz bir şekilde kapanırsa, uygulamanız çıkacak ve dosya tanıtıcısı kapanacak, böylece işletim sistemi dosyayı siler.

Güç kesilirse ya da dünya biterse, işletim sistemi herhangi bir tutamağı kapatma veya herhangi bir dosyayı silme şansına sahip değildir. Böylece, sistem tekrar açıldıktan sonra dosya hala mevcut olacaktır.

+0

Bu Linux için de işe yarayabilir, eğlenceli! –

5

Güç kesintisini tespit etmek, anormal sonlandırma için sadece bir olası nedeni kapsayacaktır. Bunu yapmanın güvenli yolu, başladığınızda bir işaretleyici dosyası oluşturmak, sonra da temizlediğinizde kaldırmanızdır. Bir sonraki başlangıçta işaretleyici dosyası varsa, hizmetinizin temiz bir şekilde sonlanmadığını biliyorsunuzdur.

Yalnızca powerloss aramak istiyorsanız, event log numaralı telefonu okumak, son kapatma işleminin beklenmedik olup olmadığını söyleyecektir.

2

Neden işleminizin düzgün bir şekilde sonlandırılıp sonlanmadığını kontrol etmiyorsunuz? Kayıt defterinde veya dosya sisteminde bazı özel işaretler yerleştirin; bu, işleminizin hala çalıştığı ve düzgün bir şekilde kapatıldığı anlamına gelir. Sonra her başlangıçta kontrol edin.

İlgili konular