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

Inhaltsverzeichnis:

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

Video: Was ist der Service-Host-Prozess (svchost.exe) und warum werden so viele ausgeführt?
Video: Von Apple zu Android/Windows und wieder zurück: Mein Fazit! 2024, März
Was ist der Service-Host-Prozess (svchost.exe) und warum werden so viele ausgeführt?
Was ist der Service-Host-Prozess (svchost.exe) und warum werden so viele ausgeführt?
Anonim
Wenn Sie den Task-Manager schon einmal 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?
Wenn Sie den Task-Manager schon einmal 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 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 besser zu lesen!

Was ist also der Service-Host-Prozess?

Hier ist die Antwort laut Microsoft:

Svchost.exe is a generic host process name for services that run from dynamic-link libraries.

Das hilft uns aber nicht viel. 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 es ist wahrscheinlich einfacher, auf dem neuesten Stand zu bleiben. 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, ist Ihnen wahrscheinlich aufgefallen, 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. Sie werden stattdessen getrennt.

Dienste sind in logischen Gruppen organisiert, die alle etwas miteinander in Beziehung stehen. Dann wird eine einzige Service Host-Instanz erstellt, um jede Gruppe zu hosten. Beispielsweise führt ein Service-Host-Prozess die drei Services für die Firewall 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.

Image
Image

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. eine andauernde übermäßige CPU- oder RAM-Nutzung, 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 einfach 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 zu beenden, ihn in der Systemsteuerungs-App "Dienste" anzuzeigen oder sogar online nach Informationen über den Dienst zu suchen.
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 die Sache etwas anders aus. Der Windows 7-Task-Manager hat Prozesse nicht auf dieselbe Weise gruppiert und auch keine regulären Prozessnamen angezeigt, sondern nur alle Instanzen von "svchost.exe", die ausgeführt werden. Sie mussten ein wenig erforschen, um die Dienste zu ermitteln, die mit einer bestimmten Instanz von "svchost.exe" zusammenhängen.
Wenn Sie Windows 7 verwenden, sieht die Sache etwas anders aus. Der Windows 7-Task-Manager hat Prozesse nicht auf dieselbe Weise gruppiert und auch keine regulären Prozessnamen angezeigt, sondern nur alle Instanzen von "svchost.exe", die ausgeführt werden. Sie mussten ein wenig erforschen, um die Dienste zu ermitteln, die mit einer bestimmten Instanz von "svchost.exe" zusammenhängen.

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.
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 Sie ihn nicht ausführen lassen möchten, oder eine Problembehandlung durchführen, warum er Ihnen Probleme bereitet.
Sie können dann den vollständigen Namen jedes Dienstes in der Spalte „Beschreibung“sehen. Sie können den Dienst daher deaktivieren, wenn Sie ihn nicht ausführen lassen möchten, oder eine Problembehandlung durchführen, warum er Ihnen Probleme bereitet.

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

Microsoft bietet auch ein hervorragendes fortschrittliches Werkzeug für die Arbeit mit Prozessen als Teil seiner Sysinternals-Produktreihe. Laden Sie Process Explorer einfach herunter und führen Sie ihn aus. Es handelt sich um eine portable App, sodass Sie sie 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 aufgeführt, 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 mit diesem Prozess verbundenen Diensten anzuzeigen - auch mit den derzeit laufenden Diensten.

Image
Image

Könnte dieser Prozess ein Virus sein?

Der Prozess selbst ist eine offizielle Windows-Komponente. Es ist zwar sehr unwahrscheinlich, dass ein Virus den echten Service Host durch eine eigene ausführbare Datei ersetzt hat. Wenn Sie sicher gehen 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".

Empfohlen: