Wenn eine Gerätedatei für ein Terminal geöffnet wird, dann wartet der Prozess normalerweise solange, bis eine Verbindung hergestellt wurde. In der Praxis öffnen Anwendungen solche Dateien nur sehr selten; diese Dateien werden von speziellen Programmen geöffnet und werden dann zur Standardeingabe, Standardausgabe und Standardfehlerausgabe von Anwendungen.
Wie unter open()
beschrieben, bewirkt das Öffnen einer Gerätedatei für ein Terminal ohne gesetztes O_NONBLOCK
-Bit, dass der Prozess blockiert, bis das Terminal bereit ist. Wenn der CLOCAL
-Modus nicht eingeschaltet ist, dann bedeutet dies, dass gewartet wird, bis eine Verbindung aufgebaut ist. Wenn der CLOCAL
-Modus für das Terminal eingeschaltet oder das Bit O_NONBLOCK
beim Aufruf von open()
angegeben ist, dann liefert open()
einen Dateideskriptor, ohne auf den Aufbau einer Verbindung zu warten.