Handle v5.0

作成者: Mark Russinovich

公開日: 2022 年 10 月 26 日

DownloadHandle をダウンロード(729 KB)

はじめに

どのプログラムが特定のファイルまたはディレクトリを開いているのか疑問に思ったことはありますか? これで確認できます。Handle は、システム内の任意のプロセスの開いているハンドルに関する情報を表示するユーティリティです。 ファイルを開いているプログラムを表示したり、プログラムのすべてのハンドルのオブジェクトの種類と名前を表示したりするために使用できます。

このプログラムの GUI ベースのバージョンである プロセス エクスプローラーに、こちら Sysinternals から入手できます。

インストール

「handle」と入力して Handle を実行します。 Handle を実行するには、管理者特権が必要です。

使用法

Handle は、開いているファイル参照の検索を対象としているため、コマンド ライン パラメーターを指定しない場合は、開いているファイルとファイルの名前を参照するシステム内のすべてのハンドルの値が一覧表示されます。 また、この動作を変更するいくつかのパラメーターも受け取ります。

使用方法:handle [[-a [-l]] [-v|-vt] [-u] | [-c <handle> [-y]] | [-s]] [-p <process>|<pid>] [name]

パラメーター 説明
-a ファイルを参照するハンドルだけでなく、すべての種類のハンドルに関する情報をダンプします。 その他の種類には、ポート、レジストリ キー、同期プリミティブ、スレッド、プロセスがあります。
-l pagefile でサポートされるセクション ハンドルを表示するだけです。
-c 指定したハンドルを閉じます (16 進数として解釈されます)。 プロセスは PID で指定する必要があります。
警告: ハンドルを閉じると、アプリケーションまたはシステムが不安定になる可能性があります。
-g 許可されたアクセス権を表示します。
-y ハンドルを閉じる確認を求めません。
-s 開いているハンドルの種類ごとの表示数。
-u ハンドルを検索するときに、所有するユーザー名を表示します。
-v コンマ区切り記号を使用した CSV 出力。
-vt タブ区切り記号を使用した CSV 出力。
-p このパラメーターは、システム内のすべてのハンドルを調べる代わりに、名前プロセスで始まるプロセスにハンドルのスキャンを絞り込みます。 したがって:
handle -p exp
は、"exp" で始まるすべてのプロセスの開いているファイルをダンプします。これには、エクスプローラーが含まれます。
name このパラメーターが存在するため、特定の名前を持つオブジェクトへの参照を検索するように Handle に指示できます。
たとえば、"c:\windows\system32" が開いているプロセス (ある場合) を知りたい場合は、次のように入力できます:
handle windows\system
名前の一致では大文字と小文字が区別されず、指定されたフラグメントは、関心のあるパス内の任意の場所に置くことができます。

Handle の出力

検索モードでない場合 (パラメーターとして名前フラグメントを指定して有効)、ハンドルはその出力を、ハンドル情報を印刷するプロセスごとにセクションに分割します。 破線は区切り記号として使用され、そのすぐ下にプロセス名とそのプロセス ID (PID) が表示されます。 プロセス名の下には、ハンドル値 (16 進数)、ハンドルが関連付けられているオブジェクトの種類、およびハンドルに関連付けられているオブジェクトの名前 (16 進数) が一覧表示されます。

検索モードの場合、 Handle はプロセス名と ID が左側に表示され、一致したオブジェクトの名前が右側に表示されます。

その他の情報

オブジェクト マネージャーの詳細については、「Windows 内部、第 4 版」を参照するか、 WinObj を使用してオブジェクト マネージャーの名前空間を参照します。

DownloadHandle をダウンロード(729 KB)