我最近从 Office 2007 升级到 Office 2016,从那时起我观察到以下行为:
我打开 Synology DS216J NAS 中的文档(例如通过 SMB 挂载为 UNC-Path),在 Excel 中进行修改。PC 因某种原因崩溃,需要重新启动,但无法提前关闭 Excel。重新启动后,我尝试再次打开该文档。但是,Excel 显示一个对话框,提示该文档当前正在使用中。在 Windows 资源管理器中,在该挂载的驱动器上,我看到原始 Office 文档 (test1.xlsx) 和一个隐藏文件 (~$test1.xlsx),这两个文件都无法在 Windows 资源管理器中删除。
奇怪的是:即使关闭所有办公程序,也无法删除这两个文件。即使我关闭这台电脑,启动同一网络中的另一台电脑,这两个文件也会被阻止,无法删除。
我目前的解决方法是直接登录 NAS 访问我的 NAS 并从那里删除文件,这种方法很有效。我注意到的另一件事是删除 ~? 文件是不够的,我需要先删除这两个文件,然后复制原始文件并在删除后重命名。
我的问题很简单:PC 崩溃后谁会阻止该文件,即使 Windows 重新启动,或者正在从另一台 PC 访问该文件,而之前锁定的 PC 甚至没有运行?这是 Office 的新功能吗(使用 NTFS 备用数据流或类似功能)?还是我的 NAS 的 SMB 实现存在问题?
最后,建议采取什么方法来处理这种死锁情况?
答案1
最有可能的是,您的 NAS 仍然与崩溃的主机保持(过时的)连接,并通过它将文件标记为打开。
您需要以某种方式让它断开连接和/或调整其设置,以便它在合理的时间内检测并断开陈旧的连接。
重新启动 NAS 是最简单(但只是暂时的)的方法。