コマンドプロンプトでプロセスを確認する方法|tasklistコマンドの使い方、PowerShellでの代替手段も紹介

目次

スポンサードリンク

Windowsでは、コマンドプロンプトやPowershellで現在実行中のプロセス一覧を表示できます。タスクマネージャーを使わなくても、コマンドベースでプロセスの情報を取得できるので、サーバーやバッチ処理のデバッグにも便利です。この記事では、tasklist コマンドを中心にプロセス確認の方法を解説します。

tasklistコマンドの基本的な使い方

tasklistコマンドは、現在ログインユーザーが起動しているプロセスやシステム全体で動作中のプロセス一覧を表示できます。以下はtasklistコマンドを実行した結果の抜粋です。

プロセスの名称(イメージ名)、プロセスID(PID)、メモリ使用量が表示されます。

C:\Users\username>tasklist

イメージ名                     PID セッション名     セッション# メモリ使用量
========================= ======== ================ =========== ============
System Idle Process              0 Services                   0          8 K
System                           4 Services                   0      2,804 K
Secure System                  212 Services                   0     67,720 K
Registry                       256 Services                   0     34,144 K
smss.exe                       752 Services                   0        848 K
csrss.exe                     1176 Services                   0      3,476 K
wininit.exe                   1280 Services                   0      3,532 K
services.exe                  1436 Services                   0      9,984 K

findstrコマンドと組み合わせて特定のプロセスに絞り込む方法

特定のプロセス名で表示内容を絞り込みたいときは findstrコマンドと組み合わせてコマンドを実行しましょう。

以下例では、Chromeブラウザのプロセスのみに表示を絞り込んでいます。

C:\Users\username>tasklist | findstr chrome
chrome.exe                   28612 Console                    3    453,968 K
chrome.exe                   15340 Console                    3      8,888 K
chrome.exe                   24840 Console                    3    134,884 K
chrome.exe                   27820 Console                    3     22,976 K
chrome.exe                   11516 Console                    3    515,288 K
chrome.exe                   12100 Console                    3    242,348 K
chrome.exe                    7108 Console                    3     64,316 K

実行ユーザーなど詳細情報を表示するオプション

/V オプションを指定してtasklistコマンドを実行すると、以下のように詳細情報を含めてプロセスの情報を表示することができます。

C:\Users\username>tasklist /V

イメージ名                     PID セッション名     セッション# メモリ使用量 状態            ユーザー名                                             CPU 時間 ウィンドウ タイトル
========================= ======== ================ =========== ============ =============== ================================================== ============ ========================================================================
System Idle Process              0 Services                   0          8 K Unknown         NT AUTHORITY\SYSTEM                                   337:00:04 N/A
System                           4 Services                   0      2,820 K Unknown         N/A                                                     1:49:35 N/A
Secure System                  212 Services                   0     67,720 K Unknown         N/A                                                     0:00:00 N/A
Registry                       256 Services                   0     34,108 K Unknown         N/A                                                     0:00:09 N/A
smss.exe                       752 Services                   0        848 K Unknown         N/A                                                     0:00:00 N/A
csrss.exe                     1176 Services                   0      3,468 K Unknown         N/A                                                     0:00:17 N/A
wininit.exe                   1280 Services                   0      3,532 K Unknown         N/A                                                     0:00:00 N/A

PowerShellでプロセスの一覧を確認する方法

PowerShellでは Get-Process コマンドでプロセスの一覧を表示することができます。PowerShellではCPU時間やスレッド数、開始時刻などの細かい情報も取得できます。

PS C:\Users\username> Get-Process

Handles  NPM(K)    PM(K)      WS(K)     CPU(s)     Id  SI ProcessName
-------  ------    -----      -----     ------     --  -- -----------
    139       8     2216       3288             11420   0 AggregatorHost
    251      12     7412      16572       5.55  18244   0 audiodg
    327      28    17856       2444       0.23  34592   3 backgroundTaskHost
    168      11     3608       2988              4856   0 bcmHostControlService
    182      11     2820       3420              4848   0 bcmHostStorageService
    259      13    37520       3668              3732   0 bcmUshUpgradeService
    72      11    27640       2732             32780   0 BioIso
    264      22    20020      44644       0.19   1308   3 chrome
    660      53   216908     284756      26.39   1352   3 chrome

特定のプロセスでフィルタリングしたい場合は、-Name でプロセス名を指定できます。以下例ではChromeのプロセスのみを表示しています。

PS C:\Users\username> Get-Process -Name "chrome"

Handles  NPM(K)    PM(K)      WS(K)     CPU(s)     Id  SI ProcessName
-------  ------    -----      -----     ------     --  -- -----------
    264      22    20020      44528       0.19   1308   3 chrome
    660      53   217248     284992      26.44   1352   3 chrome
    311      23    21132      54696       0.50   2436   3 chrome
    605      31    77964      62044      57.92   2448   3 chrome
    267      22    17216      44872       0.27   3192   3 chrome
    263      22    17056      43932       0.31   6204   3 chrome
    589      39   183560     250432      39.95   7056   3 chrome
    346      29    34804      64336       3.73   7108   3 chrome
    276      22    17116      43404       0.20   9348   3 chrome

まとめ

タスクマネージャーを開けない環境でも、コマンドで状況を把握できるようになると便利です。コマンドプロンプト、PowerShellどちらでも簡単なプロセスの確認やトラブルシューティングは十分に可能です。

関連記事
コマンドプロンプトでプロセスを強制終了する方法|taskkillコマンドの使い方を解説


コマンドプロンプトのポケットリファレンス:Windows11対応版
Windows環境で開発やシステム管理を行うエンジニアにとって、コマンドプロンプトの知識は非常に重要なスキルセットです。こちらの書籍は初心者にもわかりやすく網羅的です。手元に置いておきたい一冊です。

PowerShellの基礎を一通り学べるおすすめ書籍