Hintergrundprozess

Als Hintergrundprozess – oder auch Hintergrunddienst – werden in der Informatik Prozesse genannt, welche mit dem Benutzer nicht unmittelbar zusammenarbeiten, sondern nur im Hintergrund und damit nebenläufig (oder auch asynchron) zur Benutzerschnittstelle arbeiten. Die Benutzeraktion erfolgt meist durch Hilfsprozesse, vor allem Anwendungsprogramme, die der Benutzer bedient.

Hintergrundprozesse laufen asynchron zu der Betriebssystem-Shell ab. Moderne Unix-Shells sind in der Lage, jeden beliebigen Prozess als Hintergrundprozess zu starten.

Hintergrundprozesse unter Unix

Unter Unix und seinen Derivaten kann ein Prozess in einer Shell im Hintergrund gestartet werden, indem dem Aufruf ein Et-Zeichen (&) angehängt wird:

cp -r /grosses/verzeichnis /ziel/verzeichnis &

Bei einem solchen Aufruf geben moderne Shells meist die Prozess-ID des gestarteten Prozesses aus. Mit dem kill-Kommando kann der Hintergrundprozess beendet oder ggf. per Signalen gesteuert werden.

Typische Programme, die für den Betrieb als Hintergrundprozess konzipiert sind, sind Daemons.

Beim Versuch, Daten vom Terminal zu lesen, wird ein Hintergrundprozess durch ein Signal angehalten. Generell sollten Hintergrundprozesse keinen Gebrauch von Terminal-Eingaben machen.

Das Shell-Kommando bg (für background) lässt einen Prozess, der zuvor unterbrochen wurde (beispielsweise mit Strg + Z), im Hintergrund weiterlaufen. Das Kommando fg (für foreground) holt einen Hintergrundprozess wieder in den Vordergrund.

Weitere Betriebssysteme

Bei Windows von Microsoft werden derartige Anwendungen allgemein (Hintergrund-)Dienst oder (im Besonderen) Windows-Systemdienst genannt. Andererseits findet sich auch die Übersetzung Dienstprogramm für Service Program, was ein Programm beschreibt, dass einen oder mehrere Hintergrunddienste bereitstellt.

Unter PC-kompatiblem DOS wie beispielsweise MS-DOS werden Hintergrunddienste durch sogenannte TSR-Programme ermöglicht, da DOS selbst sonst keinen Mechanismus dafür bietet. Auch auf anderen Disk-Operating-Systemen und dem Vorbild vom 86-DOS, CP/M, gibt es derart speicherresidente Programme.