Was ist der Service-Host-Prozess (svchost.exe) und warum werden so viele ausgeführt?
Wenn Sie den Task-Manager jemals durchgesehen haben, haben Sie sich vielleicht gefragt, warum so viele Service Host-Prozesse ausgeführt werden. Du kannst sie nicht töten, und du hast sie sicher nicht angefangen. Also was sind sie??
Der Service Host-Prozess dient als Shell zum Laden von Services aus DLL-Dateien. Dienste sind in verwandten Gruppen organisiert, und jede Gruppe wird in einer anderen Instanz des Service Host-Prozesses ausgeführt. Auf diese Weise wirkt sich ein Problem in einer Instanz nicht auf andere Instanzen aus. Dieser Vorgang ist ein wesentlicher Bestandteil von Windows, dessen Ausführung Sie nicht verhindern können.
Dieser Artikel ist Teil unserer fortlaufenden Serie, in der verschiedene Prozesse erläutert werden, die im Task-Manager zu finden sind, wie dwm.exe, ctfmon.exe, mDNSResponder.exe, conhost.exe, rundll32.exe, Adobe_Updater.exe und viele andere. Weiß nicht, was diese Dienste sind? Beginnen Sie lieber mit dem Lesen!
Was ist also der Service-Host-Prozess??
Hier ist die Antwort laut Microsoft:
Svchost.exe ist ein generischer Hostprozessname für Dienste, die von Dynamic Link Libraries ausgeführt werden.
Das hilft uns aber nicht wirklich. Vor einiger Zeit hat Microsoft angefangen, einen Großteil der Windows-Funktionalität von der Verwendung interner Windows-Dienste (die aus EXE-Dateien stammten) auf die Verwendung von DLL-Dateien zu ändern. Aus der Programmiersicht macht dies den Code wiederverwendbar und kann auf jeden Fall einfacher auf dem neuesten Stand gehalten werden. Das Problem ist, dass Sie eine DLL-Datei nicht auf dieselbe Weise direkt von Windows starten können wie eine ausführbare Datei. Stattdessen wird eine Shell, die aus einer ausführbaren Datei geladen wird, zum Hosten dieser DLL-Dienste verwendet. Und so entstand der Service Host-Prozess (svchost.exe).
Warum laufen so viele Service Host-Prozesse??
Wenn Sie sich schon einmal den Abschnitt "Dienste" in der Systemsteuerung angesehen haben, haben Sie wahrscheinlich bemerkt, dass Windows viele Dienste erfordert. Wenn jeder einzelne Dienst unter einem einzigen Service-Host-Prozess ausgeführt wurde, kann ein Fehler in einem Dienst möglicherweise Windows vollständig zum Absturz bringen. Stattdessen werden sie getrennt.
Dienste sind in logischen Gruppen organisiert, die alle etwas miteinander in Beziehung stehen, und dann wird eine einzige Service Host-Instanz erstellt, um jede Gruppe zu hosten. Beispielsweise führt ein Service-Host-Prozess die drei mit der Firewall verbundenen Dienste aus. Ein anderer Service-Host-Prozess führt möglicherweise alle mit der Benutzeroberfläche verbundenen Dienste usw. aus. In der Abbildung unten sehen Sie beispielsweise, dass ein Service Host-Prozess mehrere verwandte Netzwerkdienste ausführt, während ein anderer Dienst Dienste ausführt, die sich auf Remoteprozeduraufrufe beziehen.
Gibt es etwas für mich, mit all diesen Informationen zu tun?
Ehrlich gesagt nicht viel. In den Tagen von Windows XP (und früheren Versionen), in denen PCs über weitaus begrenzte Ressourcen verfügten und die Betriebssysteme nicht ganz so fein abgestimmt waren, wurde oft empfohlen, Windows von der Ausführung unnötiger Dienste abzuhalten. Heutzutage empfehlen wir keine Dienste mehr zu deaktivieren. Moderne PCs sind in der Regel mit Speicher und leistungsstarken Prozessoren ausgestattet. Fügen Sie dies der Tatsache hinzu, dass die Art und Weise, wie Windows-Dienste in modernen Versionen gehandhabt werden (und welche Dienste ausgeführt werden), vereinfacht wurde, und dass der Verzicht auf Dienste, von denen Sie glauben, dass Sie sie nicht benötigen, wirklich keine großen Auswirkungen mehr hat.
Wenn Sie jedoch feststellen, dass eine bestimmte Instanz von Service Host - oder ein zugehöriger Service - Probleme verursacht, z. B. durch übermäßige CPU- oder RAM-Auslastung, können Sie die betreffenden Services einchecken. Dies könnte Ihnen zumindest eine Vorstellung davon geben, wo Sie mit der Problembehandlung beginnen sollen. Es gibt mehrere Möglichkeiten, genau zu ermitteln, welche Services von einer bestimmten Instanz von Service Host gehostet werden. Sie können im Task-Manager nachforschen oder eine großartige Drittanbieter-App namens Process Explorer verwenden.
Überprüfen Sie die zugehörigen Dienste im Task-Manager
Wenn Sie Windows 8 oder 10 verwenden, werden Prozesse auf der Registerkarte "Prozesse" des Task-Managers mit ihrem vollen Namen angezeigt. Wenn ein Prozess als Host für mehrere Dienste dient, können Sie diese Dienste anzeigen, indem Sie den Prozess erweitern. Dies macht es sehr einfach zu erkennen, welche Services zu jeder Instanz des Service Host-Prozesses gehören.
Sie können mit der rechten Maustaste auf einen einzelnen Dienst klicken, um den Dienst anzuhalten, in der Systemsteuerungs-App "Dienste" anzuzeigen oder sogar online nach Informationen über den Dienst zu suchen.
Wenn Sie Windows 7 verwenden, sieht die Sache etwas anders aus. Der Windows 7-Task-Manager hat Prozesse nicht auf dieselbe Weise gruppiert, und es wurden keine regulären Prozessnamen angezeigt. Es wurden nur alle Instanzen von "svchost.exe" angezeigt. Sie mussten ein wenig erforschen, um die Dienste zu ermitteln, die sich auf eine bestimmte Instanz von "svchost.exe" beziehen.
Klicken Sie auf der Registerkarte "Prozesse" des Task-Managers in Windows 7 mit der rechten Maustaste auf einen bestimmten Prozess "svchost.exe", und wählen Sie dann die Option "Gehe zu Dienst" aus.
Dadurch gelangen Sie zur Registerkarte "Dienste", auf der alle Dienste ausgewählt werden, die unter diesem Prozess "svchost.exe" ausgeführt werden.
Sie können dann den vollständigen Namen jedes Dienstes in der Spalte „Beschreibung“ sehen. Sie können den Dienst daher deaktivieren, wenn er nicht ausgeführt werden soll, oder eine Problembehandlung durchführen.
Überprüfen Sie verwandte Dienste mit Process Explorer
Microsoft bietet auch ein hervorragendes fortschrittliches Werkzeug für die Arbeit mit Prozessen als Teil seiner Sysinternals-Produktreihe. Laden Sie einfach Process Explorer herunter und führen Sie es aus. Es ist eine portable App, sodass Sie es nicht installieren müssen. Process Explorer bietet alle Arten von erweiterten Funktionen - und wir empfehlen Ihnen dringend, unser Handbuch zum Verständnis von Process Explorer zu lesen, um mehr zu erfahren.
Für unsere Zwecke hier gruppiert Process Explorer jedoch verwandte Dienste unter jeder Instanz von "svchost.exe". Sie werden nach ihren Dateinamen aufgelistet, aber ihre vollständigen Namen werden auch in der Spalte "Beschreibung" angezeigt. Sie können den Mauszeiger auch über einen der "svchost.exe" -Prozesse bewegen, um ein Popup mit allen Diensten zu sehen, die mit diesem Prozess in Verbindung stehen - auch diejenigen, die derzeit nicht ausgeführt werden.
Könnte dieser Prozess ein Virus sein?
Der Prozess selbst ist eine offizielle Windows-Komponente. Obwohl es möglich ist, dass ein Virus den echten Service Host durch eine eigene ausführbare Datei ersetzt hat, ist dies sehr unwahrscheinlich. Wenn Sie sichergehen möchten, können Sie den zugrunde liegenden Dateispeicherort des Prozesses auschecken. Klicken Sie im Task-Manager mit der rechten Maustaste auf einen beliebigen Service Host-Prozess, und wählen Sie die Option "Dateispeicherort öffnen".
Wenn die Datei in Ihrem Windows \ System32-Ordner gespeichert ist, können Sie ziemlich sicher sein, dass Sie sich nicht mit einem Virus befassen.
Wenn Sie dennoch ein bisschen mehr Ruhe wünschen, können Sie immer mit Ihrem bevorzugten Virenscanner nach Viren suchen. Sicher ist sicher!