svchost.exe ファイル (サービス ホスト) は C:WindowsSystem32 フォルダーにあり、さまざまなシステム サービスを実行するために使用されます。 Microsoft が提供するこのファイルの公式説明は次のとおりです。
Svchost.exe ファイルは、%SystemRoot%System32 フォルダーにあります。起動時に、Svchost.exe はレジストリのサービス部分をチェックして、読み込む必要があるサービスのリストを作成します。 Svchost.exe の複数のインスタンスを同時に実行できます。各 Svchost.exe セッションにはサービスのグループを含めることができます。したがって、Svchost.exe が開始される方法と場所に応じて、別のサービスが実行される可能性があります。このサービスのグループ化により、制御が向上し、デバッグが容易になります。
|_+_|
Svchost.exe グループは、次のレジストリ キーで識別されます。このキーの下の各値は個別の Svchost グループを表し、アクティブなプロセスを表示しているときに個別のインスタンスとして表示されます。各値は REG_MULTI_SZ 値であり、その Svchost グループの下で実行されるサービスが含まれます。各 Svchost グループには、次のレジストリ キーから抽出された 1 つ以上のサービス名を含めることができます。その Parameters キーには ServiceDLL 値が含まれています。
|_+_|
したがって、サービスをグループ化した結果、Svchost.exe のインスタンスが多数存在し、それぞれがインスタンスごとにサービスのグループを実行することになります。
特定の svchost.exe インスタンスで実行されているサービスを表示する方法を見てみましょう。
オプション 1: タスク マネージャー
組み込みツールの Windows タスク マネージャーは、選択した svchost プロセスに関連するサービスに関する追加情報を表示できます。最近、 Windows 8 でプロセスに関連するサービスを確認する方法について説明したため、このトリックを使用して svchost を検査することをお勧めします。
- を押してタスクマネージャーを開きます。Ctrl + Shift + Escキーボードのショートカットを使用するか、タスクバーの空の領域を右クリックします。
- Windows 7 または Vista では、「プロセス」タブに移動します。 Windows 8 以降では、[詳細] タブに切り替えます。
- 目的のプロセスを右クリックします。 svchost.exe プロセスの特定のインスタンスが大量のメモリを消費しており、どのサービスがその原因となっているのかを調べたいとします。次に、svchost.exe のそのインスタンスをクリックして、サービスに移動。 [サービス] タブが自動的に開き、svchost.exe プロセスの選択したインスタンスによって作成されたすべてのサービスが強調表示されます。
オプション 2: コマンドラインのトリック
コマンド プロンプト ウィンドウを開き、次のように入力します。
|_+_|svchost プロセスのすべてのインスタンスと関連サービスが一覧表示されます。
このトリックは、タスク マネージャー アプリに「サービスに移動' 特徴。
それでおしまい。これで、Windows システム上で複数の svchost.exe プロセスが実行されている理由がわかり、なぜこれほど多くのプロセスを実行する必要があるのか混乱することはなくなりました。