我已经与操作系统共享了一个驱动器:Windows Server 2008 R2 Enterprise Service Pack 1,然后编写了一些 c++ 代码,通过 HTCondor(可以是从 XP 到 8 的任何 Windows 系统)从我组织中的其他计算机使用 Windows API(WNetAddConnection2)访问该驱动器。
有时候连接成功,正在复制共享驱动器中的文件,但突然连接失败,最后无法删除共享驱动器中的文件。
我必须重新启动共享计算机并删除文件。
我怎样才能在不重启的情况下删除文件?如果我的问题不清楚,请告诉我。
谢谢您的任何建议。
答案1
您是否可以物理访问该计算机?如果可以,由于您知道是网络连接锁定了文件,因此您可以暂时禁用网络连接,这样可以释放锁定。如果您正在远程访问计算机,那么此选项显然不起作用,因为您也会将自己锁定在外。
您还可以使用处理,它会显示哪个 Windows 进程锁定了文件。然后您可以终止该进程以释放该文件的句柄(锁定)。但请注意,如果您要终止的进程是必需的 Windows 进程,则这可能会导致不稳定,在这种情况下,您可能最终需要重新启动才能恢复。