2013-11-25 8 views
35

Was ist der Unterschied zwischen einem Windows Service und einem Windows Prozess?Was ist der Unterschied zwischen einem Windows-Dienst und einem Windows-Prozess?

+2

Ein Service ist immer ein Prozess (oder vielleicht sogar mehr als ein Prozess), aber ein Prozess muss nicht unbedingt als Service ausgeführt werden. –

+0

Sie können sich diese [post] (http://superuser.com/questions/209654/whats-the-difference-between-an-application-process-and-services) ansehen. –

+0

das klingt nach mehr von einer Superuser-Frage – iliketocode

Antwort

16

Eine Anwendung ist ein Programm, mit dem Sie auf dem Desktop interagieren.

Ein Prozess ist eine Instanz einer bestimmten ausführbaren Datei (EXE-Programmdatei).

Ein Dienst ist ein Prozess, der im Hintergrund ausgeführt wird und nicht mit dem Desktop interagiert. In Windows werden Dienste fast immer als Instanz des Prozesses "svchost.exe" ausgeführt, dem Windows-Diensthostprozess. es gibt jedoch manchmal Ausnahmen.

Manchmal können Prozesse im Hintergrund ausgeführt werden, ohne mit dem Desktop zu interagieren, ohne jedoch als Dienst installiert zu werden.

Antivirus-Programme verwenden in der Regel einen Dienst, so dass sie weiter laufen, auch wenn der Benutzer nicht angemeldet ist.

Prozesse in der Regel beendet werden, wenn eine Anwendung geschlossen ist, jedoch ist dies nicht immer der Fall ist. Einige Programme, insbesondere Download- und Sicherungsprogramme, können weiterhin im Hintergrund ausgeführt werden, ohne dass Windows angezeigt wird. Antivirus ist auch ein Beispiel dafür - zusätzlich zur Verwendung eines Dienstes führen viele Antivirus-Anwendungen einen Hintergrund im Hintergrund aus, der nur eine Anwendung für den Benutzer anzeigt, wenn eine Aktion erforderlich ist.

Bitte geben Sie mir bessere Informationen über den Service. Danke.

+0

Irgendwelche Gründe hinter dieser Frage? Ich glaube, Sie haben es selbst beantwortet. Google ist dein bester Freund – Chelseawillrecover

+1

Ein Windows-Dienst wird immer ausgeführt, sobald der Computer gestartet wird (solange es so konfiguriert ist). Eine Standard-EXE wird nur ausgeführt, wenn ein Benutzer angemeldet ist, und wird beendet, wenn sich der Benutzer abmeldet. Sie würden einen Windows-Dienst für Dinge verwenden, die immer ausgeführt werden müssen, selbst wenn niemand angemeldet ist. Sie würden eine Standard-EXE für Programme verwenden, die ein Benutzer ausgeführt wird, während Sie angemeldet sind. –

+1

Sie haben nur diese Erklärung gewählt von [Wie unterscheidet sich ein Windows-Dienst von einer Standard-Exe?] (http://stackoverflow.com/questions/2125924/how-does-a-windows-service-differ-from-a-standard-exe). Wenn Sie weiter lesen, gibt es eine gute Erklärung, was Windows-Dienst ist – Chelseawillrecover

22

Ein Service ist ein echter Windows-Prozess, kein Unterschied. Das Besondere an einem Dienst ist, dass er vom Betriebssystem gestartet wird und in einer separaten Sitzung ausgeführt wird. Ein isoliertes, das verhindert, dass es die Desktopsitzung beeinträchtigt. Traditionell ein daemon benannt.

+0

Aber ist ein Prozess ohne UI nicht auch ein Daemon? Nehmen wir als Beispiel den Apache-Webserver: Bietet die Ausführung von Apache als Windows-Dienst mehr "*** running power ***" als die Ausführung von Apache durch direkten Aufruf von 'bin \ httpd.exe'? – Pacerier

+0

Sicher, Apache beendet nicht, wenn sich der Benutzer abmeldet. –

+0

Wie läuft es mit 'runas', ** vs ** läuft es mit Windows-Dienst? Gibt es einen Unterschied in der "Laufleistung", oder sind sie eigentlich unterschiedliche Möglichkeiten, ein ** identisches ** Ding zu machen? – Pacerier

-11

Wachstum ist ein Prozess des Baumes. Sauerstoff von einem Baum zu geben ist ein Service.

Verwandte Themen