5Aug
Si vous avez déjà parcouru le Gestionnaire des tâches, vous vous êtes peut-être demandé pourquoi tant 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, que 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 hôte du service. De cette façon, un problème dans une instance n'affecte pas les autres instances. Ce processus est une partie essentielle de Windows que vous ne pouvez pas empêcher d'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. Je ne sais pas ce que sont ces services? Mieux vaut commencer à lire!
Alors, quel est le processus hôte du 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 ça ne nous aide pas vraiment beaucoup. Il y a quelque temps, Microsoft a commencé à modifier une grande partie de la fonctionnalité 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 ainsi le processus Service Host( svchost.exe) est né.
Pourquoi y a-t-il autant de processus d'hôte de service en cours d'exécution?
Si vous avez déjà regardé la section Services dans le Panneau de configuration, vous avez probablement remarqué que Windows requiert beaucoup de services. Si chaque service s'exécutait sous un processus Service Host unique, une défaillance dans un service pouvait potentiellement détruire tout Windows. Au lieu de cela, ils sont séparés.
Les services sont organisés en groupes logiques qui sont tous 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 Service Host exécute plusieurs services réseau connexes, tandis qu'un autre exécute des services liés aux appels de procédure distante.
Y at-il quelque chose pour moi à faire avec toutes ces informations?
Honnêtement, pas beaucoup.À l'époque de Windows XP( et des versions précédentes), lorsque 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. 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 au fait que la façon dont les services Windows sont gérés dans les versions modernes( et les services qui fonctionnent) a été simplifiée, et l'élimination des services dont vous pensez ne pas avoir besoin n'a vraiment plus beaucoup 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 de l'UC 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 grande application tierce nommée Process Explorer.
Vérifiez les services connexes 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 leurs noms complets. Si un processus sert d'hôte pour plusieurs services, vous pouvez voir 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 arrêter le service, l'afficher dans l'application Panneau de configuration "Services" 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 n'a pas regroupé les processus de la même manière, ni n'affiche les noms de processus normaux - il n'affiche 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 dans Windows 7, cliquez avec le bouton droit sur un processus "svchost.exe" particulier, etpuis choisissez l'option "Aller au service".
Cela vous renvoie à l'onglet "Services", où les services s'exécutant sous ce processus "svchost.exe" sont tous sélectionnés.
Vous pouvez alors 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 fonctionne ou dépanner pourquoi il vous donne des problèmes.
Check Services associés Utilisation de l'explorateur de processus
Microsoft fournit également un excellent outil avancé pour travailler avec les 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, donc pas besoin de l'installer. Process Explorer fournit toutes sortes de fonctionnalités avancées - et nous vous recommandons fortement de lire notre guide pour comprendre Process Explorer pour en savoir plus.
Dans notre cas 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 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.
Est-ce que ce processus peut être un virus?
Le processus lui-même est un composant Windows officiel. Bien qu'il soit possible qu'un virus ait remplacé le véritable Service Hôte par un exécutable, c'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 un processus hôte de service et choisissez l'option «Ouvrir l'emplacement du fichier».
Si le fichier est stocké dans votre dossier Windows \ System32, vous pouvez être certain que vous n'avez pas de virus.
Cela dit, si vous voulez encore un peu plus de tranquillité d'esprit, vous pouvez toujours rechercher des virus en utilisant votre scanner de virus préféré.Mieux vaut prévenir que guérir!