[ホーム] > [Sysinternals デバッグツール一覧] > [Handle | プロセスが開いているファイルを調べる]


Handle | プロセスが開いているファイルを調べる

無料ダウンロードURL: https://technet.microsoft.com/ja-jp/sysinternals/handle

exe名: handle.exe


ファイルを開いているプロセス名を調べる


ファイルを開いているプロセスを確認します。

以下の例ではVMware 関連のログファイルである VGAuth\logfile.txt.0 を開いているプロセス名や PID を調査しています。

C:\>handle | findstr /C:VGAuth\logfile.txt.0
1FC: File (RW-) C:\ProgramData\VMware\VMware VGAuth\logfile.txt.0
200: File (RW-) C:\ProgramData\VMware\VMware VGAuth\logfile.txt.0



結果の中身を確認すると、プロセスID が 3188 の VGAuthService.exe であることが分かります。

VGAuthService.exe pid: 3188 NT AUTHORITY\SYSTEM
<中略>
1FC: File (RW-) C:\ProgramData\VMware\VMware VGAuth\logfile.txt.0
200: File (RW-) C:\ProgramData\VMware\VMware VGAuth\logfile.txt.0




実行例


以下は実行例です。

System pid: 4 \<unable to open process>
D8: File (---) \Device\Mup
120: File (R-D) C:\Windows\System32\drivers\ja-JP\ntfs.sys.mui
130: File (RW-) \clfs
134: File (RWD) \clfs
138: File (RWD) \clfs
13C: File (RWD) C:\$Extend\$RmMetadata\$Txf
140: File (R--) \clfs
144: File (RWD) \clfs
148: File (R--) C:\$Extend\$RmMetadata\$TxfLog\$TxfLogContainer00000000000000000005
14C: File (R--) C:\$Extend\$RmMetadata\$TxfLog\$TxfLogContainer00000000000000000002
150: File (R--) C:\$Extend\$RmMetadata\$TxfLog\$TxfLog.blf
2F8: File (R-D) C:\Windows\System32\drivers\ja-JP\USBXHCI.SYS.mui
304: Section \Win32kCrossSessionGlobals
3F4: File (R--) C:\Windows\bootstat.dat
3F8: File (-W-) C:\pagefile.sys
3FC: File (---) C:\Windows\System32\config\SYSTEM.LOG1
404: File (---) C:\Windows\System32\config\RegBack\SOFTWARE
410: File (---) C:\Windows\System32\config\SOFTWARE.LOG1
414: File (---) C:\Windows\System32\config\SOFTWARE
418: File (R--) E:\$Extend\$RmMetadata\$TxfLog\$TxfLog.blf
41C: File (R--) E:\$Extend\$RmMetadata\$TxfLog\$TxfLogContainer00000000000000000001
420: File (R--) E:\$Extend\$RmMetadata\$TxfLog\$TxfLogContainer00000000000000000002
<以下省略>




注意事項


以下のエラーが表示される場合はコマンドプロンプトを管理者として開いてから再度実行してください。

System pid: 4 \<unable to open process>



プロセスID


このツールで表示されるプロセスIDと tasklist コマンドで表示されるプロセスIDは同一です。連携して調査するとよいでしょう。

C:\>handle.exe | findstr cmd
cmd.exe pid: 5212 DESKTOP-ABCDE\username
cmd.exe pid: 192 DESKTOP-ABCDE\username

C:\>tasklist | findstr cmd
cmd.exe 5212 Console 1 8,348 K
cmd.exe 192 Console 1 8,252 K





(注意1)このツールを使用するなら"Windows Sysinternals" ツールをダウンロードしてください。(https://technet.microsoft.com/ja-jp/bb545027)
(注意2)パスを設定するには以下のようなコマンドを実行します。(C:\tools\Sysinternalsにインストールした場合)
C:\> set path=%path%;C:\tools\Sysinternals
(注意3)デフォルトではライセンス同意のダイアログが表示されます。これを省略するには /accepteula を指定します。
例: C:\> Winobj.exe /accepteula

[ホーム] > [Sysinternals デバッグツール一覧] > [Handle | プロセスが開いているファイルを調べる]


本サイト内を内容は著作権により保護されており、使用・複製・転載するこはできません。
何人も内容の正確性は保証しません。本内容によって発生したいかなる損失、損害は何人も保証しません。ご了承の上御覧ください。