Qu'est-ce que le processus d'hôte de service (svchost.exe) et pourquoi tant d'entre eux sont-ils en cours d'exécution ?
Agence web » Actualités du digital » Qu’est-ce que le processus d’hôte de service (svchost.exe) et pourquoi tant d’entre eux sont-ils en cours d’exécution ?

Qu’est-ce que le processus d’hôte de service (svchost.exe) et pourquoi tant d’entre eux sont-ils en cours d’exécution ?

Si vous avez déjà parcouru le Gestionnaire des tâches, vous vous êtes peut-être demandé pourquoi il y a tant de processus d’hôte de service en cours d’exécution. Vous ne pouvez pas les tuer, et vous ne les avez certainement pas déclenchés. Alors, quels sont-ils?

Le processus Service Host sert de shell pour charger des services à partir de fichiers DLL. Les services sont organisés en groupes liés et chaque groupe est exécuté dans une instance différente du processus hôte de service. De cette façon, un problème dans une instance n’affecte pas les autres instances. Ce processus est une partie vitale de Windows que vous ne pouvez pas empêcher de s’exécuter.

Cet article fait partie de notre série en cours expliquant divers processus trouvés dans le Gestionnaire des tâches, comme dwm.exe, ctfmon.exe, mDNSResponder.exe, conhost.exe, rundll32.exe, Adobe_Updater.exe et bien d’autres. Vous ne savez pas quels sont ces services ? Mieux vaut commencer à lire !

Qu’est-ce que le processus d’hôte de service ?

Voici la réponse, selon Microsoft :

Svchost.exe est un nom de processus hôte générique pour les services qui s’exécutent à partir de bibliothèques de liens dynamiques.

Mais cela ne nous aide pas vraiment 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 (qui s’exécutaient à partir de fichiers EXE) à l’utilisation de fichiers DLL à la place. Du point de vue de la programmation, cela rend le code plus réutilisable et sans doute plus facile à tenir à jour. Le problème est que vous ne pouvez pas lancer un fichier DLL directement à partir de Windows de la même manière qu’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é.

Pourquoi y a-t-il tant de processus hôtes de service en cours d’exécution ?

Si vous avez déjà jeté un coup d’œil à la section Services du Panneau de configuration, vous avez probablement remarqué que Windows nécessite de nombreux services. Si chaque service s’exécutait sous un seul processus d’hôte de service, une défaillance d’un service pourrait potentiellement faire tomber tout Windows. Au lieu de cela, ils sont séparés.

Les services sont organisés en groupes logiques qui sont tous quelque peu liés, puis une seule instance d’hôte de service est créée pour héberger chaque groupe. Par exemple, un processus Service Host exécute les trois services liés au pare-feu. Un autre processus Service Host peut exécuter tous les services liés à l’interface utilisateur, etc. Dans l’image ci-dessous, par exemple, vous pouvez voir qu’un processus hôte de service exécute plusieurs services réseau associés, tandis qu’un autre exécute des services liés aux appels de procédure à distance.

Processus hôte de service exécutant les services d'appel de procédure à distance.

Y a-t-il quelque chose à faire pour moi avec toutes ces informations ?

Honnêtement, pas beaucoup. À l’époque de Windows XP (et des versions précédentes), lorsque les PC disposaient de ressources beaucoup plus limitées et que les systèmes d’exploitation n’étaient pas aussi précis, il était souvent recommandé d’empêcher Windows d’exécuter des services inutiles. 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 façon dont les services Windows sont gérés dans les versions modernes (et quels services fonctionnent) a été rationalisée, et l’élimination des services dont vous pensez ne pas avoir besoin n’a plus vraiment d’impact.

Cela dit, si vous remarquez qu’une instance particulière de Service Host (ou un service associé) cause des problèmes, comme une utilisation excessive continue du processeur ou de la RAM, vous pouvez vérifier 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 particulière de Service Host. Vous pouvez vérifier les choses dans le Gestionnaire des tâches ou en utilisant une excellente application tierce nommée Process Explorer.

Vérifier 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 par leur nom complet. Si un processus sert d’hôte pour plusieurs services, vous pouvez voir ces services en développant simplement le processus. Cela facilite l’identification des services appartenant à chaque instance du processus Service Host.

Vous pouvez cliquer avec le bouton droit sur n’importe quel 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 et n’affichait pas non plus les noms de processus habituels. Il ne montrait que toutes les instances de « svchost.exe » en cours d’exécution. Vous avez dû explorer un peu 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 renverra vers l’onglet « Services », où les services exécutés sous ce processus « svchost.exe » sont tous sélectionnés.

Le Gestionnaire des tâches de Windows 7 avec tous les services exécutés sous

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 qu’il s’exécute ou de déterminer pourquoi il vous pose des problèmes.

Vérifier les services associés à l’aide de Process Explorer

Microsoft fournit également un excellent outil avancé pour travailler avec des processus dans le cadre de sa gamme Sysinternals. Il vous suffit de télécharger Process Explorer et de l’exécuter. Il s’agit d’une application portable, vous n’avez donc pas besoin de l’installer. Process Explorer fournit toutes sortes de fonctionnalités avancées et nous vous recommandons vivement de lire notre guide pour comprendre Process Explorer pour en savoir plus.

Pour nos besoins ici, cependant, Process Explorer regroupe les services associés sous 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 votre 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.

Ce processus 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, c’est très peu probable. Si vous souhaitez ê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 l’emplacement du fichier ».

Si le fichier est stocké dans votre dossier WindowsSystem32, vous pouvez être à peu près certain que vous n’avez pas affaire à un virus.

Cela dit, si vous voulez encore un peu plus de tranquillité d’esprit, vous pouvez toujours rechercher des virus à l’aide de votre antivirus préféré. Mieux vaut prévenir que guérir !

★★★★★