有一種在網(wǎng)上流傳的快速關(guān)機(jī)方法:調(diào)出任務(wù)管理器,按住Ctrl鍵,點(diǎn)擊關(guān)機(jī),這樣可三秒關(guān)機(jī),速度很快。另外,也有一些快速關(guān)機(jī)軟件,如:SuperFast Shutdown,用它也能快速關(guān)機(jī)。
我們都知道,系統(tǒng)關(guān)機(jī)時(shí)要進(jìn)行一系列的操作,包括:關(guān)閉窗口、結(jié)束進(jìn)程和服務(wù)、保存數(shù)據(jù)等等。而像上面那樣快速關(guān)機(jī)是否省掉了某些步驟,這樣做又會(huì)不會(huì)對(duì)系統(tǒng)有所危害呢?
先來(lái)看看系統(tǒng)正常關(guān)機(jī)要經(jīng)歷哪些步驟:
①關(guān)機(jī)指令通知Windows子系統(tǒng)CSRSS.EXE,CSRSS.EXE,收到通知后會(huì)和Winlogon.EXE做一個(gè)數(shù)據(jù)交換,再由Winlogon.EXE通知CSRSS.EXE開(kāi)始關(guān)閉系統(tǒng)的流程。
②CSRSS.EXE依次查詢(xún)擁有頂層窗口的用戶(hù)進(jìn)程,讓這些用戶(hù)進(jìn)程退出。
③接著開(kāi)始終止系統(tǒng)進(jìn)程。
以上3個(gè)步驟是整個(gè)Windows關(guān)機(jī)過(guò)程中很耗費(fèi)時(shí)間的一段,大多數(shù)關(guān)機(jī)緩慢的原因都是因?yàn)檫@3個(gè)步驟引起的。
④Winlogon.EXE調(diào)用NtShutdownSystem()函數(shù)來(lái)命令系統(tǒng)執(zhí)行后面的掃尾工作,很后關(guān)機(jī)。
看來(lái)Windows關(guān)機(jī)過(guò)程還挺復(fù)雜的。而使用Ctrl鍵關(guān)機(jī)或是使用某些快速關(guān)機(jī)軟件,并不會(huì)經(jīng)過(guò)完整的四步過(guò)程,而往往是跳過(guò)前三步而直接調(diào)用NtShutdownSystem()函數(shù)進(jìn)行關(guān)機(jī)的。
很多軟件在運(yùn)行時(shí)會(huì)將數(shù)據(jù)寫(xiě)入內(nèi)存,在退出時(shí)再保存到文件。如果不經(jīng)過(guò)前面的步驟關(guān)機(jī),會(huì)導(dǎo)至程序不能正常退出而丟失數(shù)據(jù),這樣就可能因重要數(shù)據(jù)丟失造成一些意外的錯(cuò)誤,對(duì)系統(tǒng)是有危害的。
所以,在此建議大家盡量不要使用Ctrl鍵關(guān)機(jī)或是某些快速關(guān)機(jī)軟件,畢竟數(shù)據(jù)的安全性比節(jié)省的那一點(diǎn)關(guān)機(jī)時(shí)間重要得多