正在发布Windows文件共享锁

问题描述:

此问题在现在和之后都会出现。我们的生成机器可以通过正常的Windows文件共享访问文件。如果有人在机器上远程浏览文件夹,并在一夜之间打开窗口,则构建失败(如现在所做的那样)。资源管理器窗口在源树中的其中一个子文件夹中保留打开的点。构建会删除源代码,并在构建之前执行干净的签出。删除失败。正在发布Windows文件共享锁

现在,我想让构建工作。我从家里登录,我宁愿不重新启动生成机器。我无法抓住机器正在查找的人员和文件,也无法远程重启他们的机器。

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

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

+0

哇。在Windows上真的没有办法阻止这种情况发生?如何...轻微不令人惊讶。至少桑巴可以做到。 – rubenvb 2017-01-31 16:30:57

找到了解决方案。

  1. 使用Process Explorer查找过程:

    1. 下载并解压缩procexp.exe
    2. 在Process Explorer中使用 “查找处理或DLL ...”,从 “查找” 菜单命令
    3. 输入删除时出现问题的目录名称
    4. 应显示与该名称匹配的打开文件列表。进行一些猜测,找出哪一个没有被删除。如果该文件是由Windows共享锁,工艺拿着文件将系统
    5. 记下这是敞开
  2. 下载并安装解锁的目录(警告:链接删除,因为它包含恶意软件)

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

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

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

+0

愚蠢的问题,但:如果我有与OP一样的问题,我在哪里运行该程序?共享该文件的计算机或使用该共享的计算机? – 2012-12-28 20:28:50

+0

@SalmanA:在存储文件的计算机上运行它(共享文件的计算机) – alldayremix 2013-07-10 16:04:39

+1

我建议删除指向Unlocker应用程序的链接。它现在包含间谍软件(见下文)。 – 2015-12-22 22:15:14

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

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

希望这会有所帮助。

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

过程黑客等对类固醇进程浏览器。

找到违规进程,按CTRL + F或点击“查找DLL的句柄”按钮并搜索文件名。

一旦在查找手柄对话框中找到该文件,只需右键单击该文件并选择“关闭”即可。 (至少v2.39.124)

旧版本在进程的上下文菜单中有一个“终止符”选项。 右键点击违规流程 - >Miscellaneous - >Terminator - >选择终止技术。请注意,有些可能是危险的,可能会产生意想不到的后果。

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

我尝试过的唯一方法似乎可靠地工作,就是删除共享本身,进行构建,然后再添加共享。下面是自动清除的份额的一种方式:

d:\项目>份额净值项目/ 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