コマンドプロンプトでプロセスを確認する方法|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の基礎を一通り学べるおすすめ書籍