如果我在第三方進程鎖定檔案時重新啟動 Windows,鎖定會自動釋放嗎?
我所說的第三方是指任何非 Windows 流程,例如我的軟體或其他供應商的軟體。
如果是這樣,是 100% 還是視情況而定?
答案1
是的。 Windows 為每個程式提供WaitToKillAppTimeout
關閉秒數(預設為20):https://technet.microsoft.com/en-us/library/cc978624.aspx
之後,它會關閉所有程式。所有文件都已釋放,文件處理程序變得無效且 Windows 關閉。
答案2
首先,是的,根據@user996142提供的答案
為了詳細說明我對網路流程的評論,答案是「最終,是」。任何透過網路存取檔案的行為實際上都是間接鎖定檔案。電腦上的主機進程(例如,SMB 共享背後的任何進程)執行實際的檔案鎖定。如果有東西正在存取此文件,並且您強制休眠或掛起,那麼當您恢復時,它仍然會被鎖定,直到 SMB 進程注意到客戶端不再連接並釋放鎖定。我不確定這裡的時間範圍,但微軟似乎喜歡預設 2 分鐘的超時。