如果我在第三方进程锁定文件时重新启动 Windows,锁会自动释放吗?
我所说的第三方是指任何非 Windows 进程,例如我的软件或其他供应商的软件。
如果是,那么是 100% 还是视情况而定?
答案1
是的。Windows 会给每个程序WaitToKillAppTimeout
几秒钟的时间来关闭(默认是20):https://technet.microsoft.com/en-us/library/cc978624.aspx
之后,它会关闭所有程序。所有文件都会被释放,文件处理程序将失效,Windows 将关闭。
答案2
首先,是的,根据@user996142提供的答案
详细阐述我对网络进程的评论,答案是“最终是的”。任何通过网络访问文件的行为实际上都是间接锁定文件。计算机上的主机进程(例如,SMB 共享背后的任何进程)执行实际的文件锁定。如果有东西正在访问此文件,并且您强制休眠或暂停,则当您恢复时,它仍将被锁定,直到 SMB 进程注意到客户端不再连接并释放锁定。我不确定这里的时间范围,但微软似乎喜欢 2 分钟的超时默认值。