我最喜欢的linux工具之一是lsof - 真正的瑞士军刀!
今天我发现自己想知道WinXP系统上哪些程序打开了特定文件。是否有与lsof等效的实用程序?此外,有问题的文件是通过网络共享的,所以我不确定这是否会使事情变得复杂。
答案 0 :(得分:67)
使用Sysinternals Suite中的Process Explorer,查找句柄或DLL函数将允许您搜索打开该文件的进程。
答案 1 :(得分:39)
等效于lsof -p pid
是sysinternals句柄和listdlls的组合输出,即
handle -p pid
listdlls -p pid
你可以找到sysinternals pslist
的pid。
答案 2 :(得分:9)
答案 3 :(得分:6)
一个等效的 lsof 可以是来自Sysinternals的句柄和 listdlls 的组合输出,即:
c:\SysInternals>handle
[...]
------------------------------------------------------------------------------
gvim.exe pid: 5380 FOO\alois.mahdal
10: File (RW-) C:\Windows
1C: File (RW-) D:\some\locked\path\OpenFile.txt
[...]
c:\SysInternals>listdlls
[...]
------------------------------------------------------------------------------
Listdlls.exe pid: 6840
Command line: listdlls
Base Size Version Path
0x00400000 0x29000 2.25.0000.0000 D:\opt\SysinternalsSuite\Listdlls.exe
0x76ed0000 0x180000 6.01.7601.17725 C:\Windows\SysWOW64\ntdll.dll
[...]
c:\SysInternals>listdlls
不幸的是,您必须“以管理员身份运行”才能使用它们。
listdlls 和 handle 也不会产生连续的表格形式,因此过滤文件名会隐藏PID。尽管
,findstr /c:pid: /c:<filename>
可以让你与两个实用程序保持密切联系
c:\SysinternalsSuite>handle | findstr /c:pid: /c:Driver.pm
System pid: 4 \<unable to open process>
smss.exe pid: 308 NT AUTHORITY\SYSTEM
avgrsa.exe pid: 384 NT AUTHORITY\SYSTEM
[...]
cmd.exe pid: 7140 FOO\alois.mahdal
conhost.exe pid: 1212 FOO\alois.mahdal
gvim.exe pid: 3408 FOO\alois.mahdal
188: File (RW-) D:\some\locked\path\OpenFile.txt
taskmgr.exe pid: 6016 FOO\alois.mahdal
[...]
在这里我们可以看到gvim.exe是打开此文件的那个。
答案 4 :(得分:5)
尝试Unlocker。
Unlocker网站有一个漂亮的图表(按照链接后向下滚动),显示与其他工具的比较。显然,这种比较通常是有偏见的,因为它们通常由工具作者编写,但图表至少列出了替代方案,以便您可以自己尝试。
答案 5 :(得分:5)
如果文件是.dll,那么您可以使用 TaskList 命令行应用程序来查看谁打开它:
TaskList /M nameof.dll
答案 6 :(得分:4)
如果右键单击“计算机”(或“我的电脑”)图标并从弹出菜单中选择“管理”,则会转到计算机管理控制台。
在那里,在系统工具\共享文件夹下,您将找到“打开文件”。这可能接近你想要的,但如果文件在网络共享上,那么你需要在文件所在的服务器上做同样的事情。
答案 7 :(得分:3)
有一个程序“OpenFiles”,似乎是Windows 7的一部分。似乎它可以做你想要的。它可以列出远程用户打开的文件(通过文件共享),并在调用后 “openfiles / Local on”和系统重启,它应该能够显示本地打开的文件。据说后者有性能损失。
答案 8 :(得分:2)
答案 9 :(得分:2)
在OpenedFilesView中,在“选项”菜单下,有一个名为“显示网络文件”的菜单项。也许启用后,上述实用程序有一些用处。