「最強」の多機能タスクマネージャー「Process Hacker」 の使い方

 メモリの使用量やCPUの使用率を確認したいときや、暴走するプロセスを強制終了したいときにはタスクマネージャを利用するのが一般的だ。だがWindows標準のタスクマネージャは必要最低限の機能しか持ち合わせておらず、詳細な情報を得るには不十分だった。Windowsのシステムをより細かく把握するために、極めて強力なタスクマネージャツール「Process Hacker」を使ってみよう。

 高機能なタスクマネージャツールはほかにもいくつかあるが、Process Hackerの特徴はタスクマネージャとして考えられる機能がほぼすべて搭載されている「全部入り」な点だ。メモリやCPUの使用率といった基本的な事柄から、リンクしているライブラリやメモリのアドレス、プロセスごとのネットワーク通信状況など開発に役立つ機能が満載されている。また、タスクマネージャには複数表示されるものの一体何なのかが分からない「svchost.exe」の正体を探るなどの使い方は開発者以外にも有用だ。

 単にシステムの状況を確認するだけではなく、素性が分からない不審なプロセスを素早くウェブで検索したり、オンラインのウイルスチェックサービス「VirusTotal」にアップロードする機能なども有しており、セキュリティの面でも能力を発揮する(図1)。

図1 「Process Hacker」はプロセスやネットワークなどの詳しいシステム情報を分かりやすく表示できる
図1 「Process Hacker」はプロセスやネットワークなどの詳しいシステム情報を分かりやすく表示できる

Process Hackerのインストール

 Process Hackerはダウンロードページから入手できる。ソースコードや単体のバイナリファイルも配布されているが、通常は.exe形式のインストーラをダウンロードすればよい(図2)。なお、Process Hackerの利用には「.NET Framework 2.0」が必要だ。Windows XPを使っている場合はあらかじめインストールしておこう。

図2 「processhacker-<バージョン番号>-setup.exe」が目的のインストーラだ
図2 「processhacker-<バージョン番号>-setup.exe」が目的のインストーラだ

 インストーラは一般的なウィザード形式となっている。ライセンス確認画面で「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)。

図3 インストーラでは基本的に「Next」をクリックしていけばよい
図3 インストーラでは基本的に「Next」をクリックしていけばよい
図4 「Select Additional Tasks」ではサービスへの登録や、標準のタスクマネージャとの置き換えを設定できる
図4 「Select Additional Tasks」ではサービスへの登録や、標準のタスクマネージャとの置き換えを設定できる

 Process Hackerは別途配布されている日本語化パッチを適用することでインターフェイスを日本語化できる。この際、必ずProcess Hacker本体のバージョンに対応する日本語パッチファイルを利用するようにしよう。今回は最新の安定版、Process Hacker 1.6対応のパッチをダウンロードした(図5)。同サイトでは最新のベータ版に対応したパッチも公開されている。

図5 パッチのダウンロードページを開いたら、「ダウンロード:ProcessHacker <バージョン番号> JP」をクリックする。次の画面で「免責事項に同意してファイルをダウンロードする」をクリックするとファイルをダウンロードできる
図5 パッチのダウンロードページを開いたら、「ダウンロード:ProcessHacker <バージョン番号> JP」をクリックする。次の画面で「免責事項に同意してファイルをダウンロードする」をクリックするとファイルをダウンロードできる

 日本語化はProcess Hackerを終了してからダウンロードしたアーカイブを解凍し、生成された「ProcessHacker日本語化.exe」を実行すればよい。このとき「Process Hackerが動作中」というエラーが表示されたら、一度パソコンを再起動してからパッチを適用しよう。

図6 「ProcessHacker日本語化.exe」を実行し、確認画面で「はい」をクリック。適用フォルダを指定して「OK」をクリックすると日本語化が行われる
図6 「ProcessHacker日本語化.exe」を実行し、確認画面で「はい」をクリック。適用フォルダを指定して「OK」をクリックすると日本語化が行われる

 環境によっては日本語化パッチの適用後、Process Hackerの画面表示が乱れたり一部の情報が表示されなくなったりする場合がある。問題が発生したらパッチのアーカイブに同梱されている「ProcessHacker高速起動再構成ツール.exe」を実行しよう(図7)。

図7 「ProcessHacker高速起動再構成ツール.exe」を実行し「再構成」をクリック。確認画面で「OK」をクリックしよう
図7 「ProcessHacker高速起動再構成ツール.exe」を実行し「再構成」をクリック。確認画面で「OK」をクリックしよう

プロセスやサービスの詳細を調べる

 Process Hackerを起動すると現在起動しているプロセスの一覧画面が表示される。プロセスは種別によって色分けされ、依存関係がツリーで表示されるので分かりやすい。配色は通常のアプリケーションによるプロセスが薄黄色、システムプロセスが青色、サービスプロセスが水色となっている。また新たに作成されたプロセスは黄緑色、終了したプロセスは赤色で表示される。一覧にはプロセスごとにメモリの使用量、CPUの使用率、入出力、ユーザー名、説明が表示され、特定のプロセスがどの程度システムに負担をかけているか調査可能だ。(図8

図8 プロセスの一覧ではプロセスごとにメモリ使用量やCPUの使用率を確認できる
図8 プロセスの一覧ではプロセスごとにメモリ使用量やCPUの使用率を確認できる

 不審なプロセスや暴走しているプロセスを発見した場合はプロセス名を選択して右クリックし、コンテキストメニューから「プロセスを終了」を選ぶと、プロセスを強制終了できる。よく分からないプロセスがあったら「ウェブで検索」を選択してみよう。Googleでのプロセス名が検索され、結果を見ることが可能だ。また「一般」−「Upload to VirusTotal」を選択すると、プロセスの実行ファイルがウイルスチェックサービス「VirusTotal」にアップロードされ、ファイルの解析が行える。(図9

図9 コンテキストメニューからプロセスの終了やウェブ検索、VirusTotalでのウイルスチェックが可能だ
図9 コンテキストメニューからプロセスの終了やウェブ検索、VirusTotalでのウイルスチェックが可能だ

 同様にプロセスのコンテキストメニューから「プロパティ」を選択すると、プロセスの詳しい情報が表示される。「一般」タブではプロセスの開始時間やフルパス、「パフォーマンス」タブではCPUやメモリの使用量をグラフで見られるほか、タブを切り替えるとメモリのアドレス、リンクしているライブラリ、環境変数などをチェックできる。また、「svchost.exe」などのサービスプロセスについては、「サービス」タブでどのサービスと関連しているのかも確認出きる(図10)。

図10 プロパティを開くとプロセスに関する非常に詳しい情報を入手できる。「サービス」タブではサービスとプロセスの関連が手軽に読み取れる
図10 プロパティを開くとプロセスに関する非常に詳しい情報を入手できる。「サービス」タブではサービスとプロセスの関連が手軽に読み取れる

 一覧画面上で「サービス」タブに切り替えると、サービスとドライバの一覧が表示される。ウインドウのアイコンがサービス、歯車のアイコンがドライバだ。サービスはコンテキストメニューから「開始」または「停止」を選ぶことで動作状態を変更できる(図11)。

図11 サービスの一覧ではコンテキストメニューからサービスの開始と停止を行える
図11 サービスの一覧ではコンテキストメニューからサービスの開始と停止を行える

 同じく「ネットワーク」タブに切り替えると、ネットワークの状態をプロセス別に診断できる。たとえば不審なアクセスなどを発見した場合、コンテキストメニューから「閉じる」を選択することで接続を停止できる。また、ここで「ツール」−「Whois」を選ぶと接続先アドレスのドメイン情報を閲覧できる(図12)。

図12 ネットワークの一覧では接続を停止したり、接続先のWhoisやtracerouteを調べられる
図12 ネットワークの一覧では接続を停止したり、接続先のWhoisやtracerouteを調べられる

その他の機能

 Process Hackerのメニューバーから「表示」−「システム情報」を選択すると、Windows標準のタスクマネージャの「パフォーマンス」タブに相当するシステム情報画面が表示され、CPU使用率やメモリ使用量の統計を確認できる。ファイルキャッシュやページフォールト、プロセスのI/Oなどタスクマネージャにはない項目も表示される。マルチコアのCPUを使っている場合は「CPU毎に表示」にチェックを入れると、コアごとのCPU使用率を調べられる(図13)。

図13 システム情報画面ではCPU使用率、I/O、物理メモリ使用量をグラフで確認できる
図13 システム情報画面ではCPU使用率、I/O、物理メモリ使用量をグラフで確認できる

 また、メニューバーの「ツール」−「非表示プロセス」を選び「スキャン」をクリックすると、「Hacker Defender」などのルートキットによってシステムから隠されたプロセスがないかをスキャンできる。見つかったプロセスはリスト上で赤く反転表示され、「終了」をクリックすることで強制終了させられる。隠されたプロセスはウイルスやスパイウェアなどのマルウェアである可能性が非常に高いのでチェックしておきたい。画面左下のプルダウンリストで「Brute Force」を選択してから「スキャン」をクリックすると、標準よりさらに強力なスキャンを行うこともできる(図14)。

図14 非表示プロセスのチェック画面ではルートキットによって隠されたプロセスを調べられる
図14 非表示プロセスのチェック画面ではルートキットによって隠されたプロセスを調べられる

 タスクトレイに表示されるProcess HackerのアイコンにはCPUの使用率が常時グラフで描画されるので、暴走しているプロセスがないか一目で分かる。アイコンを右クリックすることでプロセスの終了やシステムのシャットダウンを行うことが可能だ。また「通知」−「新しいプロセス」にチェックを入れておくと、プロセスが作成されるごとにバルーンヘルプで通知が行われるようになり、怪しげなプロセスが動作していないかを監視できる(図15)。

図15 トレイアイコンの右クリックからプロセスの通知設定を変更可能だ
図15 トレイアイコンの右クリックからプロセスの通知設定を変更可能だ

今回紹介したツール:Process Hacker