Qu'est-ce que le processus hôte de service (svchost.exe) et pourquoi tant de personnes sont-elles en cours d'exécution?
Si vous avez déjà parcouru le Gestionnaire des tâches, vous vous êtes peut-être demandé pourquoi autant de processus Service Host étaient en cours d'exécution. Vous ne pouvez pas les tuer et vous ne les avez certainement pas démarrés. Alors, quels sont-ils?
Le processus Service Host sert de shell pour le chargement de services à partir de fichiers DLL. Les services sont organisés en groupes associés et chaque groupe est exécuté dans une instance différente du processus d’hôte du service. Ainsi, un problème dans une instance n'affecte pas les autres instances. Ce processus est une partie vitale de Windows que vous ne pouvez empêcher d’exécuter..
Cet article fait partie de notre série en cours d’explications sur divers processus trouvés dans le Gestionnaire des tâches, tels que dwm.exe, ctfmon.exe, mDNSResponder.exe, conhost.exe, rundll32.exe, Adobe_Updater.exe et bien d’autres. Je ne sais pas ce que sont ces services? Mieux commencer à lire!
Alors, quel est le processus 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 exécutés à 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, reposant sur des services Windows internes (exécutés à partir de fichiers EXE) pour utiliser des fichiers DLL. Du point de vue de la programmation, cela rend le code plus réutilisable et sans doute plus facile à maintenir à 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. À la place, un shell chargé à partir d'un fichier exécutable est utilisé pour héberger ces services DLL. Et ainsi le processus Service Host (svchost.exe) est né.
Pourquoi existe-t-il tant de processus 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écutait dans le cadre d'un processus d'hôte de service unique, une défaillance de l'un des services pouvait entraîner la perte totale de 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 instance d'hôte de service unique 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. 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 distants..
Y a-t-il quelque chose à faire avec toutes ces informations??
Honnêtement, pas beaucoup. À l'époque de Windows XP (et des versions précédentes), alors que les PC avaient des ressources beaucoup plus limitées et que les systèmes d'exploitation n'étaient pas aussi bien ajustés, il était souvent recommandé d'empêcher Windows d'exécuter des services inutiles. Ces jours-ci, nous ne recommandons plus de désactiver les services. Les ordinateurs modernes ont tendance à être chargés en mémoire et en 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 s'exécutent) a été simplifiée et que 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 d'un service associé cause des problèmes, tels qu'une utilisation excessive excessive du processeur ou de la RAM, vous pouvez vous renseigner sur 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 savoir exactement quels services sont hébergés par une instance particulière de Service Host. Vous pouvez vérifier certaines choses dans le Gestionnaire des tâches ou en utilisant une 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 sous l'onglet «Processus» du gestionnaire de tâches par leur nom complet. Si un processus sert d'hôte à plusieurs services, vous pouvez visualiser 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 de la souris sur un service individuel pour arrêter le service, l'afficher dans l'application «Panneau de configuration» 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 ne montrait 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».
Sous l'onglet "Processus" du Gestionnaire de tâches de Windows 7, cliquez avec le bouton droit de la souris sur un processus "svchost.exe" particulier, puis choisissez l'option "Accéder au service"..
Cela vous fera basculer vers l'onglet «Services», où les services exécutés sous 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 le souhaitez pas ou de résoudre le problème qui explique ses 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 suffit de télécharger Process Explorer et de l'exécuter - c'est une application portable, vous n'avez donc pas besoin de l'installer. Process Explorer fournit toutes sortes de fonctionnalités avancées. Nous vous recommandons vivement de lire notre guide de compréhension de Process Explorer pour en savoir plus..
Cependant, pour les besoins de notre travail, Process Explorer regroupe les services associés sous chaque instance de «svchost.exe». Ils sont répertoriés par leur nom de fichier, mais leur nom complet apparaît également dans la colonne «Description». Vous pouvez également placer le pointeur de votre souris sur l'un des processus «svchost.exe» pour afficher une fenêtre contextuelle contenant 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 Windows officiel. Même s’il est possible qu’un virus ait remplacé le véritable hôte de service par un propre exécutable, c’est très peu probable. Si vous souhaitez en ê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 de la souris sur n’importe quel processus Service Host et choisissez l’option «Open File Location»..
Si le fichier est stocké dans votre dossier Windows \ System32, vous pouvez être presque certain que vous ne traitez pas de virus..
Cela dit, si vous voulez encore un peu plus de tranquillité d'esprit, vous pouvez toujours rechercher les virus à l'aide de votre scanner de virus préféré. Mieux vaut prévenir que guérir!