Windows上で動作しているアプリケーションやバックグラウンドプロセスを確認する際、「タスクマネージャー」を使用するのが一般的です。
しかし、一覧を保存して後から見直したい、他人に共有したいという場面では、コマンドラインから出力しておくと非常に便利です。
この記事では、PowerShellを使って現在のプロセス一覧をテキストファイルとして保存する方法を、Windows 7環境でも実行できる形式でわかりやすくご紹介します。
目次
なぜPowerShellでプロセス一覧を保存するのか?
- タスクマネージャーでは一覧をコピーできない
- システム負荷の調査や常駐ソフトの把握に使える
- トラブル時の証拠として記録できる
- シンプルなコマンド1行で実行できる
PowerShellコマンドの書式
以下のコマンドをPowerShellに1行貼り付けて実行するだけで、デスクトップに「process_list.txt」というファイルが作成されます。
Get-Process | Out-File "$env:USERPROFILE\Desktop\process_list.txt" -Encoding UTF8
コマンドの意味(簡単に解説)
コマンド | 説明 |
---|---|
Get-Process | 現在実行中のすべてのプロセス情報を取得 |
Out-File | ファイルに出力するコマンド |
$env:USERPROFILE\Desktop\process_list.txt | 出力先のパス(デスクトップ)とファイル名 |
-Encoding UTF8 | ファイルの文字コードをUTF-8に指定(日本語対応のため) |
実行方法
- スタートメニューで「PowerShell」と検索
- 表示された「Windows PowerShell」を右クリック → 「管理者として実行」
- 上記のコマンドを貼り付けて Enter キーを押します
- 数秒で、デスクトップに
process_list.txt
ファイルが生成されます
出力例
scssコピーする編集するHandles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
------- ------ ----- ----- ------ -- -- -----------
100 8 2352 8124 0.05 1234 1 chrome
150 10 5280 10240 0.20 4321 1 explorer
...
各列の意味:
- Handles:プロセスが使っているオブジェクト数
- PM(K):プライベートメモリ使用量
- WS(K):ワーキングセット(実メモリ)使用量
- CPU(s):累積CPU時間(秒)
- Id:プロセスID(PID)
応用:特定のプロセスだけ抽出したい場合
Chromeだけを出力したい場合は以下のように記述します。
Get-Process chrome | Out-File "$env:USERPROFILE\Desktop\chrome_process.txt" -Encoding UTF8
まとめ
PowerShellを使えば、GUIでは確認しづらいプロセス情報を、簡単に記録・共有可能なテキストファイルとして保存できます。
トラブル対応や常駐プロセスの調査、不要アプリの選別など、あらゆる場面で役立ちますので、ぜひこの手法を活用してみてください。