发布Windows文件共享锁

这个问题时不时出现在工作中。 我们的生成机器可以通过正常的Windows文件共享访问文件。 如果有人在机器上远程浏览文件夹,并在夜间将窗口打开,则构build失败(如现在所做的那样)。 资源pipe理器窗口左侧打开了源树中的一个子文件夹的点。 构build会删除源代码,并在构build之前进行干净的签出。 删除失败。

现在,我想要构build工作。 我从家里login,我宁愿不重新启动生成机器。 我无法抓住机器正在查找的人和文件,我无法远程重新启动机器。

当一个Windows共享有一个锁,locking过程是系统,所以我不认为我可以杀死它,就像正常的锁。

有谁知道一种方法来释放共享文件夹上的锁而不必重新启动机器?

找到了解决办法。

  1. 使用Process Explorer查找进程 :

    1. 下载并提取procexp.exe
    2. 在Process Explorer中,使用“Find”菜单中的“Find Handle or DLL …”命令
    3. 输入删除有问题的目录名称
    4. 应显示与该名称匹配的打开文件列表。 进行一些猜测,找出哪一个没有被删除。 如果该文件被Windows共享锁定,则保存该文件的进程将是System
    5. 记下打开的目录
  2. 下载并安装Unlocker( 警告 :链接已移除,因为它包含恶意软件)

    1. 安装解锁程序,禁用浏览器扩展和其他垃圾选项
  3. 解锁目录

    1. 打开一个cmd窗口,并导航到C:\ Program Files \ Unlocker
    2. 在cmd窗口中,运行Unlocker.exe“路径到锁定文件夹”
    3. 将弹出一个对话框确认锁定释放。 使用解锁按钮来解锁文件

现在该目录应该被解锁,现在可以被删除。

如果您是通过网络共享文件的服务器上的管理员,则可以使用Windows内置功能:

  1. 开始→我的电脑→右键单击→管理让您进入计算机管理控制台
  2. 在左侧导航栏中,导航到系统工具→共享文件夹
  3. 您可以在这里查看共享,会话和打开文件。 这可以让你找出谁从哪个工作站打开了哪些文件。
  4. 右键单击列表中的某个项目,可以删除文件锁定。

希望这可以帮助。

尝试过程黑客: http : //processhacker.sourceforge.net/

过程黑客就像是类似的进程资源管理器。 对于问题中列出的问题,右键单击有问题的进程 – > Miscellaneous – > Terminator – > 选择终止技术 。 请注意,有些可能是危险的,可能会有意想不到的后果。

找到有问题的过程,请按CTRL + F或单击“查找DLL的句柄”按钮并搜索文件名。

我也遇到了类似的问题,上面看到的这些建议看起来都不适合自动化的过夜构建(如原始海报所暗示的),因为它们都需要手动操作才能搜索并锁定锁。

我已经尝试过的唯一方法似乎可靠地工作是删除共享本身,进行构建,然后添加共享回来。 这是自动删除共享的一种方法:

D:\ Projects> net share项目/ DELETE / Y

用户在项目上打开文件。 继续操作将强制关闭文件。

项目已成功删除。

(注意:如果你需要赋予的特权组是混乱的,那么自动重新创建共享可能会很痛苦。)

另一个选择是,从Windows Vista开始,使用内置于系统中的Windows工具:

监视资源: perfmon.exe /res

摘自:http: //www.sysadmit.com/2017/06/windows-how-to-know-that-process-has-open-a-file.html