プロセスIDの検索

Windows で実行されている各プロセスには、プロセス ID (PID) と呼ばれる一意の 10 進数が割り当てられます。 この数は、デバッガーをアタッチするときにプロセスを指定するなど、さまざまな方法で使用されます。

このトピックでは、タスク マネージャー、タスク リスト Windows コマンド、TList ユーティリティ、PowerShell Get-Process コマンド、またはデバッガーを使用して、特定のアプリの PID を決定する方法について説明します。

タスク マネージャ

タスク マネージャーはさまざまな方法で開くことができますが、最も簡単な方法は Ctrl + Alt + Delete キーを押し、[タスク マネージャー] を選択 することです。

Windows では、まず [詳細] をクリックして、表示される情報を展開します。 [プロセス] タブで [詳細] を選択すると、PID 列に一覧表示されているプロセス ID が表示されます。

Screenshot of Task Manager in Windows 11, displaying process numbers sorted by user name.

任意の列名をクリックして並べ替えます。 プロセス名を右クリックすると、プロセスのその他のオプションを表示できます。

カーネル エラーによっては、タスク マネージャーのグラフィカル インターフェイスに遅延が発生する場合があります。

tasklist コマンド

コマンド プロンプトから組み込みの Windows tasklist コマンドを使用して、すべてのプロセス、その PID、およびその他のさまざまな詳細を表示します。

C:\>tasklist

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
System Idle Process              0 Services                   0          8 K
System                           4 Services                   0      7,428 K
Secure System                  104 Services                   0     40,344 K
Registry                       164 Services                   0    146,596 K
smss.exe                       592 Services                   0      1,176 K
csrss.exe                      896 Services                   0      6,224 K
wininit.exe                    980 Services                   0      6,572 K
...

コマンドラインヘルプを表示するために tasklist /? 使用します。

TList ユーティリティ

タスク リスト ビューアー (TList) (tlist.exe) は、ローカル コンピューターで現在実行されているタスクまたはユーザー モード プロセスの一覧を表示するコマンド ライン ユーティリティです。 TList は Windows 用デバッグ ツールに含まれています。 デバッグ ツールのダウンロードとインストールの方法については、「Windows 用デバッグ ツール」を参照してください。

Windows Driver Kit を 64 ビット PC の既定のディレクトリにインストールした場合、デバッグ ツールは次の場所にあります。

C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\

コマンド プロンプトから TList を実行すると、メモリ内のすべてのユーザー モード プロセスの一覧が一意の PID 番号で表示されます。 プロセスごとに、PID、プロセス名、プロセスにウィンドウがある場合は、そのウィンドウのタイトルが表示されます。

C:\Program Files (x86)\Windows Kits\10\Debuggers\x64>tlist -t
System Process (0)
System (4)
  smss.exe (592)
  Memory Compression (3376)
Secure System (104)
Registry (164)
csrss.exe (896)
wininit.exe (980)
  services.exe (660)
    svchost.exe (1232)
      WmiPrvSE.exe (6008)
      dllhost.exe (1748)
      WmiPrvSE.exe (1860)
...

詳細については、「TList」を参照してください。

.tlist デバッガー コマンド

対象のシステムで既にユーザー モード デバッガーが実行されている場合は、 .tlist (プロセス ID の一覧表示) コマンドによって、そのシステム上のすべての PID の一覧が表示されます。

PowerShell Get-Process コマンド

自動化スクリプトを操作するには、Get-Process PowerShell コマンドを使用します。 特定のプロセス名を指定して、そのプロセスのプロセス ID を表示します。

C:\> Get-Process explorer

Handles  NPM(K)    PM(K)      WS(K)     CPU(s)     Id  SI ProcessName
-------  ------    -----      -----     ------     --  -- -----------
   2520     404   108948     179284   1,702.95   7656   1 explorer

詳細については、「Get-Process」を参照してください。

その他のリソース

Windows の内部 (コンテキスト、スレッド、プロセスなど) について詳しくは、Pavel Yosifovich、Mark Russinovich、David Solomon、Alex Ionescu 著の Windows Internals などの追加リソースを参照してください。