[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

tasklist【コマンド】

pointこの用語のポイント

pointWindows系で使えるコマンドだよ

point実行中のタスクを表示するよ

スポンサーリンク

簡単に書くよ

tasklist【コマンド】とは

現在実行中のタスク(プロセス)を表示するコマンド
です。

image piyo

詳しく書くよ

※このページを携帯電話やスマホで見ると、横幅の関係上、実行例が見にくいと思います。可能であれば、パソコンさんから見てあげてください。

タスクは「コンピュータさんがやるべきお仕事の処理単位」ね。
プロセスは「メモリを使ってなんかやってるプログラム一つ一つ」のことです。
両方とも「パソコンさんのやっているお仕事」程度の理解でも構いません。

それを踏まえて、パソコンさんで現在実行中のタスク(プロセス)を表示するコマンドが「tasklist」コマンドです。

「tasklist」コマンドはWindows系で使えます。

書き方は

tasklist [オプション]

です。

オプションはわちゃわちゃとあります。

オプション説明
/S 【コンピュータ名】対象のコンピュータを指定する
/U 【ユーザ名】「/S」オプションと併用して、対象のコンピュータにログインするためのユーザ名を指定する
/P 【パスワード】「/S」「/U」オプションと併用して、対象のコンピュータにログインするためのパスワードを指定する
/M 【モジュール名】【モジュール名】を使用しているタスクの一覧を表示する
/SVCそのプロセスの親玉にあたるサービスを表示する
/V詳細情報を表示するする
/FI 【フィルター】【フィルター】の条件に一致するタスクの一覧を表示する
/FO 【出力形式】結果の出力形式を指定する。「TABLE」「LIST」「CSV」の中から指定可能
/NH結果の出力に項目名を含めない。「/FO TABLE」「/FO CSV」オプションと併用可能
/?ヘルプを表示する

ですね。

また「/FI」オプションのフィルターとして指定できる条件は以下の通りです。

比較する項目使える演算子比較対象として指定できる値
STATUSeq, neRUNNING | NOT RESPONDING | UNKNOWN
IMAGENAMEeq, neイメージ名
PIDeq, ne, gt, lt, ge, lePID 値
SESSIONeq, ne, gt, lt, ge, leセッション番号
SESSIONNAMEeq, neセッション名
CPUTIMEeq, ne, gt, lt, ge, le次の形式の CPU 時間
hh:mm:ss(hh - 時間、mm - 分、ss - 秒)
MEMUSAGEeq, ne, gt, lt, ge, leメモリ使用 (KB)
USERNAMEeq, ne[ドメイン\]ユーザーの形式の形式
SERVICESeq, neサービス名
WINDOWTITLEeq, neウィンドウ タイトル
MODULESeq, neDLL 名

それでは「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.、メモリ使用量を一つの塊として、一覧形式で表示されていますね。

ついでなので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"


一行目に表示されていた項目名が表示されなくなりましたね。

順番が前後してしまいましたが、これが「/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」オプションで指定できる条件は、以下の表の通りです。

比較する項目使える演算子比較対象として指定できる値
STATUSeq, neRUNNING | NOT RESPONDING | UNKNOWN
IMAGENAMEeq, neイメージ名
PIDeq, ne, gt, lt, ge, lePID 値
SESSIONeq, ne, gt, lt, ge, leセッション番号
SESSIONNAMEeq, neセッション名
CPUTIMEeq, ne, gt, lt, ge, le次の形式の CPU 時間
hh:mm:ss(hh - 時間、mm - 分、ss - 秒)
MEMUSAGEeq, ne, gt, lt, ge, leメモリ使用 (KB)
USERNAMEeq, ne[ドメイン\]ユーザーの形式の形式
SERVICESeq, neサービス名
WINDOWTITLEeq, neウィンドウ タイトル
MODULESeq, neDLL 名


「/FI(半角スペース)」に続けて

"比較する項目 使える演算子 比較対象として指定できる値"

の形式で指定します。
指定する条件は「"(ダブルクォーテーション)」で囲まないとエラーになるのでご注意ください。
「"(ダブルクォーテーション)」で囲まない場合「使える演算子」が次のオプションとして認識されてしまいます。

このように、任意の条件で絞り込みを行うためのオプションが「/FI」オプションです。

そんなところでしょうか。

長くなりましたが、これが「tasklist」コマンドの使い方です。

image piyo2

一言でまとめるよ

まぁ「tasklist」ってコマンドが出てきたら「現在実行中のタスク(プロセス)を確認するときに使うんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク