특정 파일이 Windows에서 열려 있는지 여부를 어떻게 확인할 수 있습니까?


Answers

lsof -p pid 에 해당하는 것은 sysinternals 핸들과 listdll에서 결합 된 출력입니다.

handle -p pid
listdlls -p pid

당신은 sysinternals pslist 와 함께 PID를 찾을 수 있습니다.

Question

리눅스에서 가장 좋아하는 도구 중 하나는 lsof - 진짜 스위스 육군 칼!

오늘 저는 WinXP 시스템의 어떤 프로그램이 특정 파일을 열 었는지 궁금해했습니다. lsof와 동등한 유틸리티가 있습니까? 또한 문제의 파일이 네트워크 공유를 통해 전달 되었기 때문에 문제가 복잡하게되는지 확실하지 않습니다.




Unlocker 사용해보십시오.

Unlocker 사이트에는 다른 도구와의 비교를 보여주는 간결한 차트 (링크를 따라 스크롤 다운)가 있습니다. 분명히 이러한 비교는 대개 도구 작성자가 작성하기 때문에 일반적으로 편향되지만 차트에는 대안을 나열하여 직접 시도 할 수 있습니다.




OpenedFilesView 의 옵션 메뉴 아래에 "네트워크 파일 표시"라는 메뉴 항목이 있습니다. 어쩌면이 기능을 사용하면 앞서 언급 한 유틸리티를 사용할 수 있습니다.




lsof에 해당하는 것은 Sysinternals의 핸들listdll의 출력을 결합 할 수 있습니다. 예 :

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

불행히도, 당신은 그들을 사용할 수 있도록 "관리자로 실행"해야합니다.

또한 listdllshandle 은 연속적인 테이블과 같은 형식을 생성하지 않으므로 filename을 필터링하면 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가이 파일이 열려있는 것을 볼 수 있습니다.




"OpenFiles"프로그램이 있는데, Windows 7의 일부인 것처럼 보입니다. 원하는대로 할 수있는 것 같습니다. 원격 사용자가 파일 공유를 통해 파일을 열거하고 "openfiles / Local on"을 호출하고 시스템을 다시 시작하면 로컬로 열린 파일을 볼 수 있어야합니다. 후자는 성과 처벌을 받았다고합니다.




Related