Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Das steuernde Terminal

&pagelevel(5)&pagelevel

Ein Terminal kann zu einem Prozess als sein steuerndes Terminal gehören. Jeder Prozess einer Sitzung, der ein steuerndes Terminal besitzt, besitzt dasselbe steuernde Terminal. Ein Terminal kann für höchstens eine Sitzung das steuernde Terminal sein. Als steuerndes Terminal reserviert der Sitzungsleiter die erste offene Terminal-Gerätedatei. Wenn ein Sitzungsleiter, der kein steuerndes Terminal besitzt, die Terminal-Gerätedatei ohne gesetztes O_NOCTTY-Bit öffnet, die noch nicht einer Sitzung zugeordnet ist (siehe auch open()), kann dieses Terminal das steuernde Terminal des Sitzungsleiters werden. Wenn ein Prozess, der kein Sitzungsleiter ist, die Terminal-Gerätedatei öffnet, oder wenn die Option O_NOCTTY beim Aufruf von open() verwendet wird, wird das Terminal nicht zum steuernden Terminal für den Prozess. Wenn ein steuerndes Terminal einer Sitzung zugeordnet wird, dann wird dessen Vordergrund-Prozessgruppe gleich der Prozessgruppe des Sitzungsleiters gesetzt.

Das steuernde Terminal wird von einem Sohnprozess durch einen fork-Aufruf geerbt. Ein Prozess gibt sein steuerndes Terminal auf, wenn er eine neue Sitzung durch die Funktion setsid() erzeugt oder wenn alle Dateideskriptoren, die dem steuernden Terminal zugeordnet waren, geschlossen wurden.

Wenn ein steuernder Prozess beendet wird, dann wird das steuernde Terminal von der aktuellen Sitzung gelöst, was einem neuen Sitzungsleiter erlaubt, dieses für sich zu reservieren. Nachfolgende Zugriffe auf dieses Terminal durch andere Prozesse aus der früheren Sitzung können verweigert werden, wobei Versuche, auf das Terminal zuzugreifen, behandelt werden, als sei ein Verbindungsabbruch bei einem Modem festgestellt worden.