tasklist コマンドを使って、現在動作しているタスクの一覧を表示することができます。
C:\> tasklist
イメージ名 PID セッション名 セッション# メモリ使用量
========================= ======== ================ =========== ============
System Idle Process 0 Services 0 24 K
System 4 Services 0 10,924 K
smss.exe 416 Services 0 1,452 K
csrss.exe 656 Services 0 7,464 K
wininit.exe 744 Services 0 6,292 K
csrss.exe 760 Console 1 39,000 K
winlogon.exe 796 Console 1 39,588 K
services.exe 856 Services 0 47,656 K
lsass.exe 872 Services 0 41,420 K
lsm.exe 880 Services 0 5,300 K
svchost.exe 988 Services 0 44,984 K
svchost.exe 192 Services 0 51,544 K
...
イメージ名 というのは、プロセスを開始した実行ファイル (.exe) の名前です。 ただし、先頭には “System Idle Process” という、システムリソースを追跡するための特別なシステムプロセスも表示されています。
/v
オプションを付けて実行すると、より詳細な情報(ウィンドウタイトルや CPU 時間など)を表示することができます。
C:\> tasklist /v (詳細情報まで表示)
イメージ名 PID セッション名 セッション# メモリ使用量 状態 ユーザー名 CPU 時間 ウィンドウ タイトル
============== ===== ============ =========== ============ ============== ========== ======== ===========================
gvim.exe 1496 Console 1 44,140 K Running maku 0:00:05 memo.md (D:\memo.md) - GVIM
EXCEL.EXE 3984 Console 1 46,856 K Running maku 0:00:02 Microsoft Excel - Test.xlsx
cmd.exe 6772 Console 1 5,204 K Running maku 0:00:00 command
conhost.exe 5900 Console 1 13,816 K Not Responding maku 0:00:00 OLEChannelWnd
chrome.exe 9492 Console 1 81,316 K Unknown maku 0:00:04 N/A
chrome.exe 10084 Console 1 228,852 K Unknown maku 0:01:24 N/A
chrome.exe 6952 Console 1 60,704 K Unknown maku 0:00:02 N/A
chrome.exe 3916 Console 1 82,120 K Unknown maku 0:00:04 N/A
chrome.exe 3084 Console 1 153,452 K Unknown maku 0:00:26 N/A
powershell.exe 7500 Console 1 118,048 K Running maku 0:00:01 Windows PowerShell
conhost.exe 7472 Console 1 13,948 K Not Responding maku 0:00:00 OLEChannelWnd
more.com 5156 Console 1 3,552 K Unknown maku 0:00:00 N/A
cmd.exe 6508 Console 1 5,444 K Running maku 0:00:00 command - tasklist /v
tasklist
のデフォルトの出力形式はテーブル形式 (/fo table
) になっています。
オプションを指定することで、リスト形式 (/fo list
)、CSV 形式 (/fo csv
) で出力することが可能です。
C:\> tasklist /v /fo list
イメージ名: System Idle Process
PID: 0
セッション名: Services
セッション#: 0
メモリ使用量: 24 K
状態: Unknown
ユーザー名: NT AUTHORITY\SYSTEM
CPU 時間: 39:43:18
ウィンドウ タイトル: N/A
イメージ名: System
PID: 4
セッション名: Services
セッション#: 0
メモリ使用量: 10,928 K
状態: Unknown
ユーザー名: N/A
CPU 時間: 0:09:42
ウィンドウ タイトル: N/A
...
C:\> tasklist /v /fo csv
"イメージ名","PID","セッション名","セッション#","メモリ使用量","状態","ユーザー名","CPU 時間","ウィンドウ タイトル"
"System Idle Process","0","Services","0","24 K","Unknown","NT AUTHORITY\SYSTEM","39:52:34","N/A"
"System","4","Services","0","10,928 K","Unknown","N/A","0:09:43","N/A"
"smss.exe","416","Services","0","1,452 K","Unknown","N/A","0:00:00","N/A"
"csrss.exe","656","Services","0","7,468 K","Unknown","N/A","0:00:19","N/A"
"wininit.exe","744","Services","0","6,292 K","Unknown","N/A","0:00:00","N/A"
...
一行当たりの文字数が制限されるメール文書などで引用したいときは、リスト形式で出力するのがよいかもしれません。
tasklist
の出力結果をプログラムで処理したい場合などは、CSV 形式による出力が役に立つでしょう。
オプションで /svc
を指定すると、そのプロセス上で動作しているサービスの一覧を確認することができます。
C:\> tasklist /svc
Image Name PID Services
========================= ======== ============================================
System Idle Process 0 N/A
System 4 N/A
smss.exe 504 N/A
csrss.exe 648 N/A
wininit.exe 712 N/A
csrss.exe 736 N/A
services.exe 772 N/A
lsass.exe 796 KeyIso, Netlogon, SamSs
lsm.exe 804 N/A
winlogon.exe 872 N/A
svchost.exe 956 DcomLaunch, PlugPlay, Power
svchost.exe 540 RpcEptMapper, RpcSs
atiesrxx.exe 828 AMD External Events Utility
svchost.exe 852 AudioSrv, Dhcp, eventlog, lmhosts, wscsvc
svchost.exe 1088 AudioEndpointBuilder, CscService, hidserv,
Netman, PcaSvc, SysMain, TrkWks,
UmRdpService, UxSms, wudfsvc
svchost.exe 1112 Appinfo, BITS, Browser, CertPropSvc, gpsvc,
iphlpsvc, LanmanServer, ProfSvc, Schedule,
SENS, SessionEnv, ShellHWDetection, Themes,
Winmgmt, wuauserv
svchost.exe 1260 EventSystem, netprofm, nsi, W32Time,
WdiServiceHost, WinHttpAutoProxySvc
...
ここで表示されるサービス名は、サービス管理用の sc
コマンドで使用されるのと同様に、省略名で表示されます。
tasklist
コマンドに /m
オプションを指定すると、動作中のプロセスが使用している DLL の一覧を関連付けて表示することができます。
すべてのプロセスの情報を表示するには、しばらく時間がかかります。
C:\> tasklist /m
イメージ名 PID モジュール
========================= ======== ============================================
...
SearchIndexer.exe 5828 N/A
MSOSYNC.EXE 5972 ntdll.dll, wow64.dll, wow64win.dll,
wow64cpu.dll
OneDrive.exe 4980 ntdll.dll, wow64.dll, wow64win.dll,
wow64cpu.dll
LeapControlPanel.exe 6172 ntdll.dll, wow64.dll, wow64win.dll,
wow64cpu.dll
Launchy.exe 6428 ntdll.dll, wow64.dll, wow64win.dll,
wow64cpu.dll
...
上記では、すべてのプロセスの情報を列挙していますが、/m
オプションに DLL 名を渡すようにすれば、その DLL を使用しているプロセスの情報だけを検索して表示することができます(こちらも検索にしばらく時間がかかります)。
C:\> tasklist /m wow64.dll
イメージ名 PID モジュール
========================= ======== ============================================
UpdaterUI.exe 5504 wow64.dll
IMECMNT.EXE 5680 wow64.dll
mctray.exe 5416 wow64.dll
MSOSYNC.EXE 5972 wow64.dll
OneDrive.exe 4980 wow64.dll
...
tasklist
コマンドの /fi
オプションを使用すると、実行ファイル名や、メモリ使用量など、いろいろな条件で実行中のプロセスを検索することができます。
C:\> tasklist /fi "imagename eq gvim.exe"
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
gvim.exe 6112 Console 1 21,796 K
C:\> tasklist /fi "status eq not responding"
イメージ名 PID セッション名 セッション# メモリ使用量
========================= ======== ================ =========== ============
jusched.exe 7096 Console 1 5,488 K
conhost.exe 2932 Console 1 13,440 K
conhost.exe 5900 Console 1 13,816 K
tasklist
コマンドのデフォルトの出力形式では、状態(Running や Not Responding など)のフィールドは表示されませんが、/fi
オプションでその値を使ってフィルタすることは可能です。状態のフィールドを出力するには、/v
オプションを付けて実行してください。
C:\> tasklist /fi "cputime gt 00:05:00"
イメージ名 PID セッション名 セッション# メモリ使用量
========================= ======== ================ =========== ============
System Idle Process 0 Services 0 24 K
System 4 Services 0 10,936 K
csrss.exe 760 Console 1 38,572 K
mcshield.exe 3416 Services 0 59,148 K
AIMP.exe 9900 Console 1 30,192 K
OUTLOOK.EXE 9896 Console 1 222,716 K
ConEmuC64.exe 4280 Console 1 6,516 K
conhost.exe 8224 Console 1 8,316 K
ruby.exe 12228 Console 1 103,168 K
Dropbox.exe 2532 Console 1 188,692 K
gt
は、greater than (>)を示しています。他にも lt
(<)、ge
(≧)、le
(≦)などを使用することができます。
C:\> tasklist /fi "memusage gt 200000"
イメージ名 PID セッション名 セッション# メモリ使用量
========================= ======== ================ =========== ============
svchost.exe 564 Services 0 403,516 K
explorer.exe 5172 Console 1 323,708 K
slack.exe 10048 Console 1 266,992 K
OUTLOOK.EXE 9896 Console 1 222,808 K
chrome.exe 7260 Console 1 259,172 K
chrome.exe 6292 Console 1 217,608 K
chrome.exe 10084 Console 1 247,532 K
monitor.exe 10472 Console 1 212,872 K
monitor.exe 11024 Console 1 394,844 K
複数のフィルタ条件(/fo
オプション)を指定すると、AND 条件で検索することができます。
C:\> tasklist /fi "memusage gt 100000" /fi "cputime gt 00:05:00"
イメージ名 PID セッション名 セッション# メモリ使用量
========================= ======== ================ =========== ============
OUTLOOK.EXE 9896 Console 1 222,892 K
ruby.exe 12228 Console 1 106,584 K
Dropbox.exe 2532 Console 1 189,100 K
tasklist
コマンドについてさらに詳しく調べたいときは、下記のようにしてヘルプを参照することができます。
C:\> help tasklist
あるいは、
C:\> tasklist /?