Windowsで動作しているプロセスを一覧表示する「tasklist」コマンド

tasklistはlocalまたはremote computerで現在実行中のprocessを一覧化するcommandです。PID、image name、session、memory、service、module等をfilterできますが、CPU使用率の継続計測やprocessの安全性判定は行いません。snapshot時刻とfilter条件を必ず残します。

結論は「まずtasklist /fo csvで全体snapshotを保存し、/fiでPID・IMAGENAME・USERNAME等を絞ります。/svc、/m、/vは必要な場合だけ使い、remote passwordをcommand lineへ書きません」です。

目次

tasklistをprocess snapshotとして使う

公式syntaxでは/s remote、/u user、/p password、/m module、/svc、/v、/fo table/list/csv、/nh、複数/fiを指定できます。filterにはSTATUS、IMAGENAME、PID、SESSION、CPUTIME、MEMUSAGE、USERNAME、SERVICES、WINDOWTITLE、MODULES等がありますが、一部はremoteでsupportされません。

  • local/remoteと取得時刻
  • image nameまたはPIDのどちらで追うか
  • CSV、LIST、TABLEの利用先
  • service/module/verbose情報の必要性
  • remote credentialと権限の安全な経路

processは短時間で終了・再起動しPIDが再利用されるため、PIDだけを長期identifierにしません。tasklist出力のmemoryは表示時点であり、leak診断にはPerformance Monitor等の時系列が必要です。不明processはimage path、digital signature、parent processを別toolで確認します。

tasklistは実行中プロセスのImage Name、PID、Session、Memory Usage等を一覧にします。CPU高騰、特定DLL、サービス対応、別ユーザーセッションなど目的に応じて列とfilterを選びます。同名Imageが複数PIDで動くのは珍しくないため、名前だけで異常や終了対象を決めません。取得時刻、PID、Session Name/Number、/svc結果を組み合わせます。

filterとCSVで対象を絞る

全体CSVを時刻付きfileへ保存し、filter結果を別fileにします。table表示をExcel parserへ渡さずCSVを使います。/svcはprocessとservice mapping、/mはmodule調査に限定します。remote queryは管理者が許可したhostでcurrent credentialまたは安全なcredential mechanismを使います。

process一覧を表示

tasklist

Image Name、PID、Session Name、Session#、Mem Usageを取得する基本形です。

CSV snapshotを保存

tasklist /fo csv > "%USERPROFILE%\Desktop\tasklist-20260717.csv"

取得時刻をfile名や作業記録へ含め、共有前にuser/window titleをreviewします。

image nameでfilter

tasklist /fi "IMAGENAME eq notepad.exe" /fo table

0件とcommand errorを区別し、別名processを推測で終了しません。

PIDとmemory条件でfilter

tasklist /fi "PID gt 1000" /fi "MEMUSAGE gt 100000" /fo csv

単位と取得時点を記録し、継続的な高memoryとは断定しません。

service mappingを表示

tasklist /svc /fi "IMAGENAME eq svchost.exe"

共有host processへ紐づくserviceを確認する読み取り用途です。

最初はtasklist /fo tableで全体を見て、/fi “PID eq 1234″や/fi “IMAGENAME eq app.exe”で候補を絞ります。/svcは各プロセス内のサービス、/m module.dllは指定モジュールを読み込むプロセスの確認に使います。/vは情報量と取得負荷が増えるため必要時だけ使います。リモート/sでは資格情報を平文の/pへ書かず、管理された接続を使います。

service・module表示とPID・memoryの限界を理解する

tasklist /vはwindow titleやuser等を含み、/svcはservice、/mはloaded moduleを表示します。情報取得権限やprotected processにより完全でない場合があります。STATUSのNOT RESPONDINGはUI応答状態のsnapshotで、process killを自動決定する指標ではありません。

  • tasklistはlocalとremoteのrunning processを表示する
  • /fo csvは機械処理しやすいquoted formatを返す
  • 複数/fiを組み合わせて対象を絞れる
  • /svcはprocessにhostingされるservice情報を表示する
  • PIDはprocess再起動後に変わり将来別processへ再利用され得る

Windowsでは一つの実行ファイル名が複数インスタンスを持ち、svchost.exeは複数サービスをホストします。PIDはプロセス終了後に再利用されるため、古い記録のPIDへ後から操作してはいけません。tasklistは観察時点のsnapshotで、CPU推移や親子関係、完全なcommand lineを十分に示さない場合があります。必要に応じてGet-Process、Get-CimInstance、Process Explorerへ移ります。

remote queryと機密情報を守る

/p optionへpasswordを直接書かず、ticketやscriptへcredentialを残しません。tasklistは確認toolであり、結果をtaskkillへ無reviewでpipeしません。process名が同じでもpathとsignatureが異なる場合があるため、security判断はProcess ExplorerやDefender等で補います。

  • PIDを永続的なprocess identityとして保存する
  • Mem Usage一回だけでmemory leakと断定する
  • CSVでなくtableの空白columnをparseする
  • remote passwordを/pに記録する
  • 不明processを名前だけでmalwareまたは不要と判断する

tasklistは読み取りですが、結果から直ちにtaskkillを実行するのは別の危険な操作です。SYSTEM process、security product、database、service hostを名前だけで終了しません。/m出力は内部module名、/vはユーザー情報を含む可能性があるため公開範囲を限定します。リモート照会のためfirewallや管理共有を広く開放せず、承認済み管理経路を使います。

Task Manager・PowerShellと照合する

同時刻のTask Manager Details、Get-Process、service一覧と主要PIDを照合します。filterのboundary値、0件、複数件、permission差をtestし、CSV parserでheader・quote・localeが扱えることを確認します。

  1. 取得時刻とfilter条件を含むprocess snapshotがある
  2. 目的processをPID・name・serviceの複数項目で特定した
  3. remote credentialを露出していない
  4. 継続monitoringが必要な項目を別toolへ引き継いだ

同じPIDをTask ManagerのDetails、tasklist /svc、必要ならGet-CimInstance Win32_ProcessのExecutablePath・CommandLineで照合します。数秒間隔で複数回取得し、PIDが存続しているか、メモリが増えているかを確認します。プロセスがservice由来ならService Control Managerの状態と再起動方針を確認し、プロセス一覧だけで稼働判定を終えません。

目的に合うprocess調査toolを選ぶ

一時一覧はtasklist、object処理はGet-Process、parent/path/signature調査はProcess Explorer、時系列resourceはPerformance Monitorを使います。process停止が必要でもownerとservice影響を確認し、tasklist結果だけで実行しません。

一度の一覧と簡単なfilterならtasklist、継続的なCPU・メモリ監視ならPerformance Monitor、親子関係や署名ならProcess Explorer、型付き自動処理ならPowerShell/CIMが適します。終了や再起動が必要な場合は、アプリまたはserviceの正常停止手順、利用者影響、未保存データ、復旧を確認してから別の承認作業として実施します。

公式情報・参考資料

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次