Was ist der Service Host-Prozess (svchost.exe) und warum werden so viele ausgeführt?

Wenn Sie jemals den Task-Manager durchsucht haben, haben Sie sich vielleicht gefragt, warum so viele Service Host-Prozesse ausgeführt werden. Sie können sie nicht töten, und Sie haben sie sicher nicht gestartet. Also, was sind sie?

Der Service Host-Prozess dient als Shell zum Laden von Diensten aus DLL-Dateien. Services 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 Prozess ist ein wichtiger Bestandteil von Windows, dessen Ausführung Sie nicht verhindern können. 

Dieser Artikel ist Teil unserer fortlaufenden Reihe, in der verschiedene Prozesse im Task-Manager erläutert werden, z. B. dwm.exe, ctfmon.exe, mDNSResponder.exe, conhost.exe, rundll32.exe, Adobe_Updater.exe und viele andere. Sie wissen nicht, was diese Dienste sind? Fangen Sie besser an zu lesen!

Was ist der Service Host-Prozess?

Hier ist die Antwort laut Microsoft:

Svchost.exe ist ein generischer Hostprozessname für Dienste, die aus Dynamic Link-Bibliotheken ausgeführt werden.

Aber das hilft uns nicht wirklich viel. Vor einiger Zeit hat Microsoft damit begonnen, einen Großteil der Windows-Funktionen von der Verwendung interner Windows-Dienste (die von EXE-Dateien ausgeführt wurden) auf die Verwendung von DLL-Dateien umzustellen. Aus programmtechnischer Sicht ist Code dadurch wiederverwendbarer und möglicherweise einfacher auf dem neuesten Stand zu halten. Das Problem ist, dass Sie eine DLL-Datei nicht direkt unter Windows starten können, wie Sie es mit einer ausführbaren Datei tun können. Stattdessen wird eine Shell, die aus einer ausführbaren Datei geladen wird, zum Hosten dieser DLL-Dienste verwendet. Und so wurde der Service Host-Prozess (svchost.exe) geboren.

Warum werden so viele Service-Host-Prozesse ausgeführt?

VERBINDUNG: Was ist dieser Prozess und warum läuft er auf meinem PC?

Wenn Sie sich jemals den Abschnitt Dienste in der Systemsteuerung angesehen haben, haben Sie wahrscheinlich festgestellt, dass Windows viele Dienste benötigt. Wenn jeder einzelne Dienst unter einem Prozess mit einem Diensthost ausgeführt wird, kann ein Fehler in einem Dienst möglicherweise ganz Windows zum Erliegen bringen. Stattdessen werden sie getrennt.

Services werden in logischen Gruppen organisiert, die alle in gewisser Beziehung zueinander stehen. Anschließend wird eine einzelne Service Host-Instanz erstellt, um jede Gruppe zu hosten. Beispielsweise führt ein Service Host-Prozess die drei Dienste aus, die sich auf die Firewall beziehen. Ein anderer Service Host-Prozess führt möglicherweise alle Dienste aus, die sich auf die Benutzeroberfläche beziehen, und so weiter. In der folgenden Abbildung sehen Sie beispielsweise, dass ein Service Host-Prozess mehrere verwandte Netzwerkdienste ausführt, während ein anderer Dienste im Zusammenhang mit Remoteprozeduraufrufen ausführt.

Gibt es etwas, das ich mit all diesen Informationen zu tun habe?

VERBINDUNG: Sollten Sie Windows-Dienste deaktivieren, um Ihren PC zu beschleunigen?

Ehrlich gesagt nicht viel. In den Tagen von Windows XP (und früheren Versionen), als PCs viel weniger Ressourcen hatten und die Betriebssysteme nicht ganz so fein abgestimmt waren, wurde häufig empfohlen, Windows daran zu hindern, unnötige Dienste auszuführen. Heutzutage empfehlen wir nicht mehr, Dienste 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 behandelt werden (und welche Dienste ausgeführt werden), optimiert wurde und das Eliminieren von Diensten, von denen Sie glauben, dass Sie sie nicht wirklich benötigen, keine großen Auswirkungen mehr hat.

Wenn Sie jedoch feststellen, dass eine bestimmte Instanz von Service Host - oder ein verwandter Dienst - Probleme verursacht, z. B. eine fortwährende übermäßige CPU- oder RAM-Auslastung, können Sie sich bei den jeweiligen beteiligten Diensten melden. Dies könnte Ihnen zumindest eine Vorstellung davon geben, wo Sie mit der Fehlerbehebung beginnen können. Es gibt verschiedene Möglichkeiten, um genau zu sehen, welche Dienste von einer bestimmten Instanz von Service Host gehostet werden. Sie können die Dinge im Task-Manager oder mit einer großartigen Drittanbieter-App namens Process Explorer überprüfen.

Ü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 ihren vollständigen Namen angezeigt. Wenn ein Prozess als Host für mehrere Dienste dient, können Sie diese Dienste anzeigen, indem Sie den Prozess einfach erweitern. Dies macht es sehr einfach zu identifizieren, welche Dienste zu jeder Instanz des Service Host-Prozesses gehören.

Sie können mit der rechten Maustaste auf einen einzelnen Dienst klicken, um den Dienst zu beenden, ihn in der Systemsteuerungs-App "Dienste" anzuzeigen oder sogar online nach Informationen über den Dienst zu suchen.

Wenn Sie Windows 7 verwenden, sieht das etwas anders aus. Der Windows 7-Task-Manager gruppierte Prozesse nicht auf die gleiche Weise und zeigte auch keine regulären Prozessnamen an. Er zeigte nur alle Instanzen von "svchost.exe" an, die ausgeführt wurden. Sie mussten ein wenig nachforschen, 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 "Zum Dienst wechseln".

Dadurch wechseln Sie zur Registerkarte "Dienste", auf der alle Dienste ausgewählt sind, die unter diesem Prozess "svchost.exe" ausgeführt werden.

Sie können dann den vollständigen Namen jedes Dienstes in der Spalte "Beschreibung" anzeigen, sodass Sie den Dienst deaktivieren können, wenn Sie nicht möchten, dass er ausgeführt wird, oder Fehler beheben, warum er Ihnen Probleme bereitet.

Überprüfen Sie die zugehörigen Dienste mit Process Explorer

Microsoft bietet im Rahmen seiner Sysinternals-Produktpalette auch ein hervorragendes erweitertes Tool für die Arbeit mit Prozessen. Laden Sie einfach Process Explorer herunter und führen Sie es aus - es ist eine tragbare App, sodass Sie sie nicht installieren müssen. Process Explorer bietet alle Arten von erweiterten Funktionen. Wir empfehlen dringend, unseren Leitfaden zum Verständnis von Process Explorer zu lesen, um weitere Informationen zu erhalten.

VERBINDUNG: Was ist eine "tragbare" App und warum ist sie wichtig?

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 Prozesse "svchost.exe" bewegen, um ein Popup mit allen mit diesem Prozess verbundenen Diensten anzuzeigen - auch mit denen, die derzeit nicht ausgeführt werden.

Könnte dieser Prozess ein Virus sein?

Der Prozess selbst ist eine offizielle Windows-Komponente. Es ist zwar möglich, dass ein Virus den realen Service-Host durch eine eigene ausführbare Datei ersetzt hat, dies ist jedoch sehr unwahrscheinlich. Wenn Sie sicher sein möchten, können Sie den zugrunde liegenden Dateispeicherort des Prozesses überprüfen. Klicken Sie im Task-Manager mit der rechten Maustaste auf einen 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 es sich nicht um einen Virus handelt.

VERBINDUNG: Was ist das beste Antivirenprogramm für Windows 10? (Ist Windows Defender gut genug?)

Wenn Sie dennoch ein wenig mehr Sicherheit wünschen, können Sie jederzeit mit Ihrem bevorzugten Virenscanner nach Viren suchen. Sicher ist sicher!