Qu'est-ce que le processus Service Host (svchost.exe) et pourquoi tant d'entre eux sont-ils en cours d'exécution ?

Qu'est-ce que le processus Service Host (svchost.exe) et pourquoi tant d'entre eux sont-ils en cours d'exécution ?

Qu'est-ce que le processus Service Host (svchost.exe) et pourquoi tant d'entre eux sont-ils en cours d'exécution ? Si vous avez déjà ouvert le Gestionnaire des tâches, vous vous êtes peut-être demandé pourquoi tant de processus de service hôte sont en cours d'exécution. Vous ne pouvez pas les fermer et vous ne les avez certainement pas démarrés. Alors, quels sont-ils?


Les processus de l'hôte de service agissent comme un shell pour charger des services à partir de fichiers DLL. Les services sont organisés en groupes liés et chaque groupe s'exécute dans une instance différente du processus de service hôte. De cette manière, un problème dans une instance n'affecte pas les autres instances. Ce processus est une partie vitale de Windows qui ne peut pas être empêchée de s'exécuter.



1. Alors, quel est le processus Service Host (svchost.exe)?

Voici la réponse, selon Microsoft :

Qu'est-ce que le processus Service Host (svchost.exe) ? Svchost.exe est un nom de processus hôte générique pour les services exécutés à partir de bibliothèques de liens dynamiques.

Mais cela ne nous aide pas beaucoup. Il y a quelque temps, Microsoft a commencé à modifier une grande partie des fonctionnalités de Windows, passant de l'utilisation de services Windows internes (exécutés à partir de fichiers EXE) à l'utilisation de fichiers DLL. Du point de vue de la programmation, cela rend le code plus réutilisable et probablement plus facile à mettre à jour. Le problème est que vous ne pouvez pas démarrer un fichier DLL directement à partir de Windows de la même manière que vous pouvez exécuter un fichier exécutable. Au lieu de cela, un shell chargé à partir d'un fichier exécutable est utilisé pour héberger ces services DLL. Et c'est ainsi que le processus Service Host (svchost.exe) est né.



2. Pourquoi y a-t-il tant d'hôtes de service en cours d'exécution ?

Si vous avez déjà consulté la section Services du Panneau de configuration, vous avez probablement remarqué que Windows nécessite de nombreux services. Si chaque service s'exécute dans un seul processus hôte de service, une défaillance d'un service peut potentiellement arrêter l'ensemble du système Windows. Au lieu de cela, ils sont séparés.


Les services sont organisés en groupes logiques qui sont tous liés d'une manière ou d'une autre, de sorte qu'une seule instance de l'hôte de service est créée pour héberger chaque groupe. Par exemple, un processus hôte de service exécute les trois services liés au pare-feu. Un autre processus hôte de service peut exécuter tous les services liés à l'interface utilisateur, etc.

À l'époque de Windows XP (et des versions antérieures), lorsque les PC disposaient de ressources beaucoup plus limitées et que les systèmes d'exploitation n'étaient pas aussi optimisés, il était souvent recommandé d'arrêter d'exécuter des services inutiles pour Windows. De nos jours, nous ne recommandons plus de désactiver les services. Les PC modernes ont tendance à être chargés de mémoire et de processeurs puissants. Ajoutez à cela le fait que la gestion des services Windows dans les versions modernes (et les services exécutés) a été simplifiée, et la suppression des services dont vous pensez ne pas avoir vraiment besoin n'a plus aucun impact.


Cela dit, si vous remarquez qu'une instance particulière de Service Host, ou un service connexe, cause des problèmes, tels qu'une surutilisation continue du processeur ou de la RAM, vous pouvez rechercher les services spécifiques impliqués. Cela pourrait au moins vous donner une idée de l'endroit où commencer le dépannage. Il existe plusieurs façons de voir exactement quels services sont hébergés par une instance d'hôte de service particulière. Vous pouvez vérifier dans le Gestionnaire des tâches ou en utilisant une excellente application tierce appelée Process Explorer.


3. Découvrez les services associés dans le Gestionnaire des tâches

Si vous utilisez Windows 8 ou 10, les processus sont affichés dans l'onglet "Processus" du Gestionnaire des tâches avec leurs noms complets. Si un processus héberge plusieurs services, vous pouvez afficher ces services simplement en développant le processus. Cela facilite l'identification des services appartenant à chaque instance du processus Service Host.


Vous pouvez cliquer avec le bouton droit sur un service individuel pour l'arrêter, l'afficher dans l'application "Services" du Panneau de configuration ou même rechercher en ligne des informations sur le service.


Si vous utilisez Windows 7, les choses sont un peu différentes. Le Gestionnaire des tâches de Windows 7 ne regroupait pas les processus de la même manière, ni n'affichait les noms de processus normaux, mais n'affichait que toutes les instances en cours d'exécution de "svchost.exe". Il a fallu un peu d'exploration pour déterminer les services liés à une instance particulière de "svchost.exe".

Dans l'onglet "Processus" du Gestionnaire des tâches de Windows 7, cliquez avec le bouton droit sur un processus "svchost.exe" particulier, puis choisissez l'option "Aller au service".

Cela vous mènera à l'onglet "Services", où tous les services exécutés dans ce processus "svchost.exe" sont tous sélectionnés.

Vous pouvez ensuite voir le nom complet de chaque service dans la colonne "Description", vous pouvez donc choisir de désactiver le service si vous ne voulez pas l'exécuter ou résoudre les problèmes qu'il pose.

4. Vérifier les services associés via Process Explorer

Microsoft fournit également un excellent outil avancé pour travailler avec les processus dans le cadre de sa gamme Sysinternals. Téléchargez Process Explorer et exécutez-le - c'est une application portable, vous n'avez donc pas besoin de l'installer. Process Explorer offre toutes sortes de fonctionnalités avancées.


Pour nos besoins ici, cependant, Process Explorer regroupe les services associés dans chaque instance de "svchost.exe". Ils sont répertoriés par leurs noms de fichiers, mais leurs noms complets sont également affichés dans la colonne "Description". Vous pouvez également passer le pointeur de la souris sur l'un des processus "svchost.exe" pour voir une fenêtre contextuelle avec tous les services liés à ce processus, même ceux qui ne sont pas en cours d'exécution.


Le processus Service Host (svchost.exe) pourrait-il être un virus ?

Le processus lui-même est un composant officiel de Windows. Bien qu'il soit possible qu'un virus ait remplacé le véritable hôte de service par son propre exécutable, cela est très peu probable. Si vous voulez être sûr, vous pouvez vérifier l'emplacement du fichier sous-jacent du processus. Dans le Gestionnaire des tâches, cliquez avec le bouton droit sur n'importe quel processus hôte de service et choisissez l'option "Ouvrir le chemin du fichier".

Si le fichier est stocké dans le dossier Windows System32, vous pouvez être sûr que vous n'avez pas affaire à un virus.

ajouter un commentaire de Qu'est-ce que le processus Service Host (svchost.exe) et pourquoi tant d'entre eux sont-ils en cours d'exécution ?
Commentaire envoyé avec succès ! Nous l'examinerons dans les prochaines heures.