tasklist【コマンド】
コマンドだよ
Windowsで使えるよ
実行中のタスクを表示するよ
スポンサーリンク
簡単に書くよ
tasklist【コマンド】とは
コンピュータさんに対する命令文(コマンド)のひとつ
であり
現在実行中のタスク(プロセス)を表示するコマンド
です。
詳しく書くよ
※このページを携帯電話やスマホで見ると、横幅の関係上、実行例が見にくいと思います。できれば、パソコンさんから見てあげてください。
順番に見ていきましょう。
まずは予備知識として「タスク」と「プロセス」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
タスクは「コンピュータさんがやるべきお仕事の処理単位」です。
プロセスは「メモリを使って何かやっているプログラムひとつひとつ」です。
タスクとプロセスは、用語としての意味は違いますが、同じニュアンスで使われることも少なくありません。
今回は、どちらも「お仕事中のプログラム」と捉えてください。
以上を踏まえて
パソコンさんで現在実行中のタスク(プロセス)を表示するコマンド
が「tasklist」コマンドです。
「tasklist」コマンドはWindows系で使えます。
書き方は
tasklist [オプション]
です。
オプションは、わちゃわちゃとあります。
| オプション | 説明 |
|---|---|
| /S 【コンピュータ名】 | 対象のコンピュータを指定する |
| /U 【ユーザ名】 | 「/S」オプションと併用して、対象のコンピュータにログインするためのユーザ名を指定する |
| /P 【パスワード】 | 「/S」「/U」オプションと併用して、対象のコンピュータにログインするためのパスワードを指定する |
| /M 【モジュール名】 | 【モジュール名】を使っているタスクの一覧を表示する |
| /SVC | そのプロセスの親玉にあたるサービスを表示する |
| /V | 詳細情報を表示するする |
| /FI 【フィルター】 | 【フィルター】の条件に一致するタスクの一覧を表示する |
| /FO 【出力形式】 | 結果の出力形式を指定する。「TABLE」「LIST」「CSV」の中から指定可能 |
| /NH | 結果の出力に項目名を含めない。「/FO TABLE」「/FO CSV」オプションと併用可能 |
| /? | ヘルプを表示する |
です。
また「/FI」オプションのフィルターとして指定できる条件は以下の通りです。
| 比較する項目 | 使える演算子 | 比較対象として指定できる値 |
|---|---|---|
| STATUS | eq, ne | RUNNING | NOT RESPONDING | UNKNOWN |
| IMAGENAME | eq, ne | イメージ名 |
| PID | eq, ne, gt, lt, ge, le | PID 値 |
| SESSION | eq, ne, gt, lt, ge, le | セッション番号 |
| SESSIONNAME | eq, ne | セッション名 |
| CPUTIME | eq, ne, gt, lt, ge, le | 次の形式の CPU 時間 hh:mm:ss(hh - 時間、mm - 分、ss - 秒) |
| MEMUSAGE | eq, ne, gt, lt, ge, le | メモリ使用 (KB) |
| USERNAME | eq, ne | [ドメイン\]ユーザーの形式 |
| SERVICES | eq, ne | サービス名 |
| WINDOWTITLE | eq, ne | ウィンドウ タイトル |
| MODULES | eq, ne | DLL 名 |
それでは「tasklist」コマンドの使い方を見ていきましょう。
オプションを何も付けないで
tasklist
を実行した場合、現在実行中のタスク情報が表形式で表示されます。
私のパソコンで「tasklist」コマンドを実行したところ、結果は以下のようになりました。
イメージ名 PID セッション名 セッション# メモリ使用量
========================= ======== ================ =========== ============
System Idle Process 0 Services 0 24 K
System 4 Services 0 1,656 K
smss.exe 328 Services 0 1,076 K
csrss.exe 444 Services 0 5,776 K
wininit.exe 504 Services 0 5,616 K
csrss.exe 520 Console 1 72,756 K
services.exe 552 Services 0 9,716 K
(中略)
audiodg.exe 1152 Services 0 18,932 K
tasklist.exe 5072 Console 1 5,680 K
これは表形式で表示されています。
つまり
tasklist /FO TABLE
を実行した場合と同じ結果です。
ここで「/FO TABLE」の部分を「/FO LIST」に変えると、結果がリスト形式で出力されるようになります。
私の環境で
tasklist /FO LIST
を実行したところ、以下の結果が出力されました。
イメージ名: System Idle Process
PID: 0
セッション名: Services
セッション#: 0
メモリ使用量: 24 K
イメージ名: System
PID: 4
セッション名: Services
セッション#: 0
メモリ使用量: 1,656 K
(中略)
イメージ名: tasklist.exe
PID: 3480
セッション名: Console
セッション#: 1
メモリ使用量: 5,716 K
イメージ名、PID、セッション名、セッションNo.、メモリ使用量を1つの塊として、一覧形式で表示されていますね。
ついでなのでCSV形式(カンマ区切り)でも出力してみましょう。
tasklist /FO CSV
を実行すると、結果がCSV形式で出力されます。
私の環境では、以下の内容で出力されました。
"イメージ名","PID","セッション名","セッション#","メモリ使用量"
"System Idle Process","0","Services","0","24 K"
"System","4","Services","0","1,656 K"
"smss.exe","328","Services","0","1,076 K"
"csrss.exe","444","Services","0","5,776 K"
(中略)
"tasklist.exe","1512","Console","1","5,648 K"
各項目はダブルクォーテーションで囲まれ、カンマで出力されています。
ちなみに「/FO TABLE」か「/FO CSV」を指定しているときに「/NH」を指定すると、項目名が表示されなくなります。
例えば
tasklist /FO CSV /NH
を実行すると、私の環境では以下の結果が表示されました。
"System Idle Process","0","Services","0","24 K"
"System","4","Services","0","1,656 K"
"smss.exe","328","Services","0","1,076 K"
"csrss.exe","444","Services","0","5,776 K"
(中略)
"tasklist.exe","1512","Console","1","5,648 K"
1行目に表示されていた項目名が表示されなくなりましたね。
順番が前後してしまいましたが、これが「/FO」「/NH」オプションを指定したときの動きです。
「/S」「/U」「/P」オプションは、リモートアクセスする対象のコンピュータを指定するときに使います。
例えば
tasklist /S \\PIYOPIYO-PC
を実行すると、コンピュータ名が「PIYOPIYO-PC」であるパソコンさんで実行中のタスク情報を表示しようとします。
ログインが必要な場合は、さらに「/U」「/P」オプションを指定して
tasklist /S \\PIYOPIYO-PC /U user1 /P password1
のような形で実行します。
これが「/S」「/U」「/P」オプションの使い方です。
「/M」オプションはモジュールから逆引きしたいときに指定します。
例えば
tasklist /M kernel32.dll
を実行すると、私の環境では以下の結果になります。
イメージ名 PID モジュール
========================= ======== ============
taskhost.exe 2244 kernel32.dll
dwm.exe 2340 kernel32.dll
explorer.exe 2364 kernel32.dll
IMECMNT.EXE 2732 kernel32.dll
(中略)
tasklist.exe 2844 kernel32.dll
「kernel32.dll」を使っているタスクの一覧が表示されましたね。
なお「/M」オプションでは前方一致検索が使えます。
例えば
tasklist /M kernel*
のように指定することで、名前が「kernel」で始まるモジュールを使っているタスクの一覧を表示できます。
これが「/M」オプションの使い方です。
「/SVC」オプションは、そのタスクのご主人様、親玉にあたるサービスを表示するためのオプションです。
例えば
tasklist /SVC
を実行すると、私の環境では以下の内容が表示されます。
イメージ名 PID サービス
========================= ======== ============================================
System Idle Process 0 N/A
System 4 N/A
smss.exe 328 N/A
csrss.exe 444 N/A
wininit.exe 504 N/A
csrss.exe 520 N/A
services.exe 552 N/A
lsass.exe 576 EFS, KeyIso, SamSs
lsm.exe 584 N/A
svchost.exe 704 DcomLaunch, PlugPlay, Power
winlogon.exe 792 N/A
svchost.exe 812 RpcEptMapper, RpcSs
svchost.exe 868 AudioSrv, Dhcp, eventlog, lmhosts, wscsvc
(中略)
tasklist.exe 1820 N/A
それぞれのタスクの元となるサービスが表示されていますよね。
これが「/SVC」オプションです。
「/V」オプションは詳細情報を表示するオプションです。
メモリ使用量やユーザー名などの詳細情報も表示してくれます。
例えば
tasklist /V
を実行すると、私の環境では以下の結果が表示されました。
イメージ名 PID セッション名 セッション# メモリ使用量 状態 ユーザー名 CPU 時間 ウィンドウ タイトル
========================= ======== ================ =========== ============ =============== ================================================== ============ ========================================================================
System Idle Process 0 Services 0 24 K Unknown NT AUTHORITY\SYSTEM 2:52:04 N/A
System 4 Services 0 1,656 K Unknown N/A 0:03:50 N/A
smss.exe 328 Services 0 1,076 K Unknown N/A 0:00:00 N/A
(中略)
tasklist.exe 2360 Console 1 6,944 K Unknown piyo-work\piyota 0:00:00 N/A
なんか、わちゃわちゃと表示されていますよね。
これが「/V」オプションです。
最後に「/FI」オプションの説明です。
「/FI」オプションは表示内容を絞り込むためのオプションで、ある程度任意の内容で抽出結果を絞り込み表示できます。
例えば
tasklist /FI "PID eq 0"
を実行すると、プロセスIDが「0」のタスクが表示されます。
tasklist /FI "SERVICES eq eventlog"
を実行した場合は、サービス「evenlog」に該当するタスクのみが表示されます。
上の方でも書きましたが「FI」オプションで指定できる条件は、以下の表の通りです。
| 比較する項目 | 使える演算子 | 比較対象として指定できる値 |
|---|---|---|
| STATUS | eq, ne | RUNNING | NOT RESPONDING | UNKNOWN |
| IMAGENAME | eq, ne | イメージ名 |
| PID | eq, ne, gt, lt, ge, le | PID 値 |
| SESSION | eq, ne, gt, lt, ge, le | セッション番号 |
| SESSIONNAME | eq, ne | セッション名 |
| CPUTIME | eq, ne, gt, lt, ge, le | 次の形式の CPU 時間 hh:mm:ss(hh - 時間、mm - 分、ss - 秒) |
| MEMUSAGE | eq, ne, gt, lt, ge, le | メモリ使用 (KB) |
| USERNAME | eq, ne | [ドメイン\]ユーザーの形式 |
| SERVICES | eq, ne | サービス名 |
| WINDOWTITLE | eq, ne | ウィンドウ タイトル |
| MODULES | eq, ne | DLL 名 |
「/FI(半角スペース)」に続けて
"比較する項目 使える演算子 比較対象として指定できる値"
の形式で指定します。
指定する条件は「"(ダブルクォーテーション)」で囲まないとエラーになります。
ご注意ください。
「"(ダブルクォーテーション)」で囲まない場合「使える演算子」が次のオプションとして認識されてしまいます。
このように、任意の条件で絞り込みをするためのオプションが「/FI」オプションです。
そんなところでしょうか。
長くなりましたが、これが「tasklist」コマンドの使い方です。
一言でまとめるよ
まぁ「tasklist」ってコマンドが出てきたら「現在実行中のタスク(プロセス)を確認するときに使うんだな~」と お考えください。
おまけ
■訳してみるよ
「task(タスク)」の意味は「仕事」とか「任務」とか「課題」とかです。
「list(リスト)」の意味は「一覧表」とか「一覧表にする」とかです。
何となく くっつけると
仕事の一覧表
となります。
■検索してみる?






