在 Windows 中,如何找到正在打开文件的进程?

分享于 

7分钟阅读

互联网

 

问题:

Windows 我annoys的一件事是old共享violation错误错误。 通常你无法确定是什么让它打开。 通常只是指向一个相关目录的编辑器或者资源管理器,但有时我必须重新启动机器。

关于如何查找原因的任何建议?


回答 1:

我已经成功地使用了 Sysinternals进程资源管理器。 用这个,你可以搜索 process(es)的文件打开,你可以使用它关闭句柄如果你想要。 当然,关闭整个过程是更安全的。 注意和判断。

若要查找特定文件,请使用菜单选项 Find->Find Handle or DLL... 在文件的部分路径中键入。 进程列表将显示在下面。

如果你喜欢 命令行,Sysinternals套件包括 命令行 工具句柄,它列出了打开的句柄。 关于如何使用它的几个示例:

  • c:Program FilesSysinternalsSuite>handle.exe |findstr/i e: - 查找从驱动器E 打开的所有文件:
  • c:Program FilesSysinternalsSuite>handle.exe |findstr/i file-or-path-in-question

回答 2:

对于 Windows 7,Windows 8和 Windows 10,你可以使用内置的资源监视器。

  • 打开资源监视器,可以找到它
    • 通过在 开始菜单 中搜索 resmon.exe,或者
    • 作为任务管理器中性能选项卡上的按钮。
  • 选中图像( 选中的进程的标题) 旁边的复选框( 选中的进程将在下面显示它们的文件句柄。)
  • 使用 CPU中的搜索字段( associated ),该区域位于 CPU 选项卡上的部分
    • 用蓝色箭头指向屏幕下方的蓝色箭头
  • 当你找到句柄时,你可以通过查看图像和/或者PID列来确定该过程。

    如果能够这样做,你可以关闭应用程序,或者单击该行,你可以选择杀死这个过程。 轻松事项 !

    Resource Monitor screenshot

    从我的原始答案中复制: https://superuser.com/a/643312/62


回答 3:

尝试 openfiles 命令。


回答 4:

仅在结束句柄时非常小心;这比想象中更危险;因为处理回收操作会导致文件回收,如果关闭文件句柄,程序句柄现在会被关闭,该文件句柄会指向其他文件,但现在可能会导致程序关闭。

请参见this的雷蒙德帖子

假设搜索索引服务已经打开用于索引但暂时卡住的文件,你希望删除该文件,因此你将关闭该处理程序关闭。 搜索索引服务打开日志文件以记录一些信息,并且被删除文件的句柄作为日志文件的句柄被回收。 最终完成的操作最终完成,搜索索引服务终结了它已经打开的句柄,但是无意中关闭了日志句柄。

搜索索引服务打开另一个文件,比如用于写入的配置文件,这样它就可以更新某些持久状态。 日志文件的句柄作为配置文件的句柄被回收。 搜索索引服务要记录一些信息,因此它将写入日志文件。 很遗憾,日志文件句柄被关闭,句柄为它的配置文件重用。 记录的信息进入配置文件,损坏它。

同时,另一个句柄您强制关闭时重用作为用于帮助防止数据被损坏一个互斥体句柄。 关闭原始文件句柄时,互斥体句柄已关闭,并且对数据损坏保护会丢失。 服务运行的时间越长,它的索引的破坏程度就越高。 最终,有人注意到索引返回的结果不正确。 并尝试重新启动服务时失败因为其配置文件已被损坏。

将该问题报告给使搜索索引服务和他们确定索引已经损坏的公司。 一些不良的技术人员被指定了为什么服务破坏索引和配置文件的不希望的任务。


回答 5:

我已经使用处理成功地找到了过去这样的过程。


回答 6:


回答 7:

Lockhunter ( http://lockhunter.com/ ) 适用于 32和 64bit 系统。


回答 8:

,this party party party party party party party party party party party party party party party party party party party party。 也许这是CreateFile设计的结果,但是完成了,我们不能返回。

基本上在 Windows 程序中打开文件时,你可以选择指定允许共享访问的标志。 如果不指定标志,则程序将独占访问文件。

Explorer,Explorer可能在 Surface 上,而且可能只是在上安装了一个文件,而 true 导致了一个文件夹,或者是在它本身不正确的情况下打开了一个文件。 我曾经看到过这样的一些事情,如果它的他的视频程序也是这样的话,我也不会感到惊讶。 源代码管理 Plug-Ins 可能也处于故障状态。

所以不是一个真正的答案,但只是一些建议,不要总是责备 Windows,这可能是一个写得很糟糕的3rd 派对程序。


回答 9:

在远程服务器上,当你检查网络共享时,计算机管理控制台可以显示这里信息并关闭文件。


回答 10:

要打开文件的Apropos资源管理器: "当在需要删除的文件中发生这种情况时,你可以选择强制关闭句柄或者重新启动。"

你只需结束资源管理器。

如果这是一次( 资源管理器通常不打开这里文件),那么我猜我们可以注销并重新登录将会做到这一点。

否则,杀死桌面资源管理器进程,并在它消失时执行所需的操作。 首先启动 cmd.exe ( 你需要一个用户界面来做你想要的清理)的副本。 确保没有运行非桌面资源管理器。 然后杀死最后一个资源管理器,比如,任务管理器。 在命令提示符中执行所需操作。 最后,从命令提示符运行资源管理器,它将成为桌面。

如果某些with程序无法处理 shell 重新启动,我猜可能会有一些残余的unpleasantness。



文件  Window  Windows  PROC  FIND  
相关文章