un equivalente de lsof se podría combinar la salida de Sysinternals' mango y listdlls, es decir:
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
Por desgracia, hay que 'ejecutar como administrador' para poder utilizarlos .
también listdlls y mango no producen forma de tabla continuo a modo de filtrar el nombre de archivo ocultaría PID. findstr /c:pid: /c:<filename>
debe llegar muy estrecha con las dos empresas de servicios públicos, aunque
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
[...]
Aquí podemos ver que gvim.exe es la que tiene este archivo abierto.
¿Esto realmente responde la pregunta? Process Explorer le permite ver qué archivos están abiertos para un determinado proceso/handle/dll/whatever, pero esa es la asignación inversa. Vea mi respuesta http://stackoverflow.com/questions/15708/lsof-equivalent-for-windows#188337 a esta pregunta. –
Sí lo hace. Haga clic en Find Handle o Dll (o presione Ctrl-F), escriba el nombre del archivo que está buscando y termine con una lista de procesos con ese archivo abierto. –
Process Explorer ahora se ha renombrado y se ha incluido en "Process Monitor". –