「最強」の多機能タスクマネージャー「Process Hacker」 の使い方
メモリの使用量やCPUの使用率を確認したいときや、暴走するプロセスを強制終了したいときにはタスクマネージャを利用するのが一般的だ。だがWindows標準のタスクマネージャは必要最低限の機能しか持ち合わせておらず、詳細な情報を得るには不十分だった。Windowsのシステムをより細かく把握するために、極めて強力なタスクマネージャツール「Process Hacker」を使ってみよう。
高機能なタスクマネージャツールはほかにもいくつかあるが、Process Hackerの特徴はタスクマネージャとして考えられる機能がほぼすべて搭載されている「全部入り」な点だ。メモリやCPUの使用率といった基本的な事柄から、リンクしているライブラリやメモリのアドレス、プロセスごとのネットワーク通信状況など開発に役立つ機能が満載されている。また、タスクマネージャには複数表示されるものの一体何なのかが分からない「svchost.exe」の正体を探るなどの使い方は開発者以外にも有用だ。
単にシステムの状況を確認するだけではなく、素性が分からない不審なプロセスを素早くウェブで検索したり、オンラインのウイルスチェックサービス「VirusTotal」にアップロードする機能なども有しており、セキュリティの面でも能力を発揮する(図1)。
Process Hackerのインストール
Process Hackerはダウンロードページから入手できる。ソースコードや単体のバイナリファイルも配布されているが、通常は.exe形式のインストーラをダウンロードすればよい(図2)。なお、Process Hackerの利用には「.NET Framework 2.0」が必要だ。Windows XPを使っている場合はあらかじめインストールしておこう。
インストーラは一般的なウィザード形式となっている。ライセンス確認画面で「I accept the Agreement」にチェックを入れたら「Next」をクリックしていこう(図3)。ポイントは「Select Additional Tasks」画面だ。「Install KProcessHacker as a service」にチェックを入れると、マルウェアやセキュリティソフトにロックされたプロセスも強制終了できるようになる。また、「Set Process Hacker as the default task manager for Windows」にチェックを入れると標準のタスクマネージャとProcess Hackerを置き換えることが可能だ。ここでの選択は後に設定画面からも変更できる(図4)。
Process Hackerは別途配布されている日本語化パッチを適用することでインターフェイスを日本語化できる。この際、必ずProcess Hacker本体のバージョンに対応する日本語パッチファイルを利用するようにしよう。今回は最新の安定版、Process Hacker 1.6対応のパッチをダウンロードした(図5)。同サイトでは最新のベータ版に対応したパッチも公開されている。
日本語化はProcess Hackerを終了してからダウンロードしたアーカイブを解凍し、生成された「ProcessHacker日本語化.exe」を実行すればよい。このとき「Process Hackerが動作中」というエラーが表示されたら、一度パソコンを再起動してからパッチを適用しよう。
環境によっては日本語化パッチの適用後、Process Hackerの画面表示が乱れたり一部の情報が表示されなくなったりする場合がある。問題が発生したらパッチのアーカイブに同梱されている「ProcessHacker高速起動再構成ツール.exe」を実行しよう(図7)。
プロセスやサービスの詳細を調べる
Process Hackerを起動すると現在起動しているプロセスの一覧画面が表示される。プロセスは種別によって色分けされ、依存関係がツリーで表示されるので分かりやすい。配色は通常のアプリケーションによるプロセスが薄黄色、システムプロセスが青色、サービスプロセスが水色となっている。また新たに作成されたプロセスは黄緑色、終了したプロセスは赤色で表示される。一覧にはプロセスごとにメモリの使用量、CPUの使用率、入出力、ユーザー名、説明が表示され、特定のプロセスがどの程度システムに負担をかけているか調査可能だ。(図8)
不審なプロセスや暴走しているプロセスを発見した場合はプロセス名を選択して右クリックし、コンテキストメニューから「プロセスを終了」を選ぶと、プロセスを強制終了できる。よく分からないプロセスがあったら「ウェブで検索」を選択してみよう。Googleでのプロセス名が検索され、結果を見ることが可能だ。また「一般」−「Upload to VirusTotal」を選択すると、プロセスの実行ファイルがウイルスチェックサービス「VirusTotal」にアップロードされ、ファイルの解析が行える。(図9)
同様にプロセスのコンテキストメニューから「プロパティ」を選択すると、プロセスの詳しい情報が表示される。「一般」タブではプロセスの開始時間やフルパス、「パフォーマンス」タブではCPUやメモリの使用量をグラフで見られるほか、タブを切り替えるとメモリのアドレス、リンクしているライブラリ、環境変数などをチェックできる。また、「svchost.exe」などのサービスプロセスについては、「サービス」タブでどのサービスと関連しているのかも確認出きる(図10)。
一覧画面上で「サービス」タブに切り替えると、サービスとドライバの一覧が表示される。ウインドウのアイコンがサービス、歯車のアイコンがドライバだ。サービスはコンテキストメニューから「開始」または「停止」を選ぶことで動作状態を変更できる(図11)。
同じく「ネットワーク」タブに切り替えると、ネットワークの状態をプロセス別に診断できる。たとえば不審なアクセスなどを発見した場合、コンテキストメニューから「閉じる」を選択することで接続を停止できる。また、ここで「ツール」−「Whois」を選ぶと接続先アドレスのドメイン情報を閲覧できる(図12)。
その他の機能
Process Hackerのメニューバーから「表示」−「システム情報」を選択すると、Windows標準のタスクマネージャの「パフォーマンス」タブに相当するシステム情報画面が表示され、CPU使用率やメモリ使用量の統計を確認できる。ファイルキャッシュやページフォールト、プロセスのI/Oなどタスクマネージャにはない項目も表示される。マルチコアのCPUを使っている場合は「CPU毎に表示」にチェックを入れると、コアごとのCPU使用率を調べられる(図13)。
また、メニューバーの「ツール」−「非表示プロセス」を選び「スキャン」をクリックすると、「Hacker Defender」などのルートキットによってシステムから隠されたプロセスがないかをスキャンできる。見つかったプロセスはリスト上で赤く反転表示され、「終了」をクリックすることで強制終了させられる。隠されたプロセスはウイルスやスパイウェアなどのマルウェアである可能性が非常に高いのでチェックしておきたい。画面左下のプルダウンリストで「Brute Force」を選択してから「スキャン」をクリックすると、標準よりさらに強力なスキャンを行うこともできる(図14)。
タスクトレイに表示されるProcess HackerのアイコンにはCPUの使用率が常時グラフで描画されるので、暴走しているプロセスがないか一目で分かる。アイコンを右クリックすることでプロセスの終了やシステムのシャットダウンを行うことが可能だ。また「通知」−「新しいプロセス」にチェックを入れておくと、プロセスが作成されるごとにバルーンヘルプで通知が行われるようになり、怪しげなプロセスが動作していないかを監視できる(図15)。
今回紹介したツール:Process Hacker
- 作者:wj32
- 動作環境:Windows XP SP2以降
- ライセンス:GPL
- ホームページ:http://processhacker.sourceforge.net/