如何阻止 explorer.exe 保持文件打开

如何阻止 explorer.exe 保持文件打开

我有一台 Windows 2003 服务器机器,该机器通过每晚的计划任务进行备份,该任务将文件和文件夹复制到便携式 USB 硬盘(使用 TrueCrypt 加密)

每周将便携式驱动器带离现场并连接另一个驱动器(我们目前在 2 个便携式驱动器之间轮换)。

问题是,每周当我们旋转驱动器时,我们无法卸载连接的驱动器,因为有些随机文件或文件夹处于打开状态,而保持文件打开的进程始终是 explorer.exe。

如果我使用 ProcessExplorer 关闭句柄,则一切正常 - 卷被干净地卸载并且资源管理器继续正常工作。

我想知道如何阻止资源管理器保持文件打开,我怀疑加载到资源管理器中的某些第三方代码是问题所在,但我不知道如何追踪它。

这是一个生产服务器,因此安装调试工具或执行任何导致服务器离线超过几分钟的操作都是不可接受的。

谢谢

编辑:感谢您建议使用解锁器,但我首先想防止陷入锁定文件的情况,这是一个生产服务器,我不想搞乱资源管理器进程。

另一次编辑如果你想知道为什么我不想要解锁工具,那就读读这个吧http://technet.microsoft.com/en-us/magazine/2009.04.windowsconfidential.aspx

答案1

将 explorer.exe 的焦点移到另一个分区的文件夹中。

答案2

使用解锁器。首先使用“发送至 --> 解锁”解锁您的根驱动器,然后您就能轻松将其删除。它不会使您的服务器不可用,而且它是一个非常小的实用程序。我在 Win 2003 上完美地使用它。

答案3

有时Windows 索引服务开始在文件系统上工作并在此过程中锁定文件。

移除驱动器工具支持暂停服务一段时间以移除 USB 驱动器。这对我来说效果很好。

RemoveDrive DriveSpec: [-l][-h][-b][-i][-s][-w:nnnn]

DriveSpec: is the drive to remove, e.g. U: or \ for the current drive
[-L] loop until success
[-h] show open handles (admin rights required, exprimental, may freeze!)
[-w:nnnn]  wait nnnn milliseconds before close
[-s] self delete removedrive.exe
[-b] let Windows show the "Safe To Remove Hardware" balloon tip
[-i] stop Windows indexing service (CiSvc) for a moment 
     if required (admins)
[-d] show debug information

通用注释。

  • 驱动工具页面总体上是 USB 相关要点的非常好的参考
  • Microsoft 索引服务因以下原因而臭名昭著:处理器占用在某些情况下还会产生页面文件碎片。您可能需要阅读更多内容,并考虑选择性地在特定文件夹上递归停止它(右键单击,属性,常规,高级)。
  • 系统内部页面碎片整理是一个很好的工具来检查页面文件碎片和碎片整理相同(需要重新启动)

答案4

您是否先卸载 Truecrypt?很可能是 Truecrypt 本身阻止了卸载。由于 Truecrypt 服务的工作方式,它看起来是 Explorer。

相关内容