Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ttymon(1M) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

pmadm(1M)

sac(1M)

sacadm(1M)

sttydefs(1M)

ttyadm(1M)

ttymon(1M)                                                       ttymon(1M)

NAME
     ttymon - Anschlußüberwachungsprogramm für Terminalanschlüsse

SYNTAX
     /usr/lib/saf/ttymon

     /usr/lib/saf/ttymon -g [-d device] [-h] [-t timeout] [-l ttylabel]
                         [-p prompt] [-m modules]

BESCHREIBUNG
     ttymon ist ein Anschlußüberwachungsprogramm für Terminalanschlüsse,
     das auf dem Konzept der STREAMS aufbaut. Es soll Anschlüsse überwachen
     sowie Terminalmodi, Übertragungsgeschwindigkeiten und -prozeduren für
     Anschlüsse festlegen. Außerdem soll es Benutzer bzw. Anwendungen mit
     den Diensten verbinden, die den Anschlüssen zugeordnet sind. Normaler-
     weise ist ttymon so konfiguriert, daß es unter dem SAC (Service Access
     Controller) als Teil der Service Access Facility (SAF) läuft. Es wird
     mit Hilfe des Kommandos sacadm(1M) konfiguriert. Jeder ttymon-Prozeß
     kann mehrere Anschlüsse überwachen. Diese sind in der Verwaltungsdatei
     des Anschlußüberwachungsprogramms angegeben. Die Verwaltungsdatei wird
     mit den Kommandos pmadm(1M) und ttyadm(1M) konfiguriert. Sobald das
     Kommando sac(1M) einen ttymon-Prozeß startet, beginnt dieser mit der
     Überwachung seiner Anschlüsse. Für jeden dieser Anschlüsse initiali-
     siert ttymon zuerst die Streams-Module für die "Linediscipline",
     sofern diese angegeben sind, und die Übertragungsgeschwindigkeit sowie
     die Terminaleinstellungen. Die Werte für diese Initialisierung werden
     dem entsprechenden Eintrag in der Datei mit den TTY-Einstellungen ent-
     nommen. Diese Datei wird vom Kommando sttydefs(1M) verwaltet. Stan-
     dard-Streams-Module für Anschlüsse werden normalerweise durch das Kom-
     mando autopush der Autopush Facility vorgegeben.

     ttymon gibt dann den Prompt aus und wartet auf Eingaben des Benutzers.
     Drückt der Benutzer auf die BREAK-Taste um anzuzeigen, daß die Über-
     tragungsgeschwindigkeit nicht stimmt, versucht ttymon die nächste
     Geschwindigkeit und gibt wieder den Prompt aus. Nach dem Empfang einer
     gültigen Eingabe interpretiert ttymon die eventuell vorhandene Konfi-
     gurationsdatei für den Dienst des Anschlusses, erzeugt, falls notwen-
     dig, einen utmp-Eintrag, erstellt die Dienstumgebung und ruft dann den
     Dienst auf, der dem Anschluß zugeordnet ist. Gültige Eingaben bestehen
     aus Zeichenketten mit mindestens einem Zeichen, das kein Zeilenende-
     zeichen ist. Die Zeichenketten werden jeweils mit einem Carriage-
     Return beendet. Wird der Dienst beendet, bereinigt ttymon den utmp-
     Eintrag, falls vorhanden, und bringt den Anschluß in seinen Anfangszu-
     stand.

     Wenn für einen Anschluß das Flag pre-prompt-config eingestellt ist,
     wird die Konfigurationsdatei bereits vor dem Ausgeben des Prompts
     interpretiert, die Interpretation vor dem Starten des Dienstes ent-
     fällt dann.

     Ist für einen Anschluß autobaud aktiviert, versucht ttymon, die Über-
     tragungsgeschwindigkeit für den Anschluß automatisch zu bestimmen.



Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

ttymon(1M)                                                       ttymon(1M)

     Erst wenn der Benutzer ein Carriage-Return eingegeben hat, kann ttymon
     die Übertragungsgeschwindigkeit erkennen und den Prompt ausgeben. Zur
     Zeit kann autobaud die Übertragungsgeschwindigkeiten 110, 1200, 2400,
     4800 und 9600 erkennen.

     Ist ein Anschluß bidirektional konfiguriert, können Benutzer über
     diese Schnittstelle Dienste in Anspruch nehmen. Ist der Anschluß frei,
     erlaubt ttymon den Kommandos uucico, cu bzw. ct, ihn zum Aufbau von
     Wählverbindungen zu benutzen. Wenn ein Anschluß bidirektional konfigu-
     riert ist, wartet ttymon mit der Ausgabe eines Prompts, bis es ein
     Zeichen gelesen hat.

     Ist für einen Anschluß das Flag connect-on-carrier gesetzt, ruft tty-
     mon den dem Anschluß zugeordneten Dienst sofort auf, sobald eine Ver-
     bindungsanforderung eintrifft. Die Prompt-Meldung wird nicht ausgege-
     ben.

     Ist ein Anschluß deaktiviert, startet ttymon keinen Dienst auf diesem
     Anschluß. Wurde eine Meldung für den deaktivierten Zustand angegeben,
     sendet ttymon diese Meldung, sobald eine Verbindungsanforderung ein-
     trifft. Ist ttymon deaktiviert, werden auch alle Anschlüsse deakti-
     viert, die dieser Prozeß bedient.

   Aufruf von Diensten
     In der Verwaltungsdatei von ttymon ist angegeben, welchen Dienst tty-
     mon für einen Anschluß aufruft. ttymon sucht in der Zeichenkette, die
     den für diesen Anschluß aufzurufenden Dienst angibt, nach der Folge %d
     oder %%. Trifft es auf %d, ändert ttymon das Dienstkommando, das aus-
     geführt werden soll, indem es diese zwei Zeichen durch den vollständi-
     gen Pfadnamen dieses Anschlusses (den Gerätenamen) ersetzt. Trifft es
     auf %%, so ersetzt ttymon diese Zeichenfolge durch ein einzelnes %.

     Beim Aufruf des Dienstes werden für das angeschlossene Gerät die
     Dateideskriptoren 0, 1 und 2 zum Lesen und Schreiben geöffnet. Der
     Dienst wird mit derjenigen Benutzer- und Gruppennummer sowie dem aktu-
     ellen HOME-Dateiverzeichnis aufgerufen, die bzw. das zu der Benutzer-
     kennung gehört, unter welcher der Dienst bei ttymon registriert wurde.
     ttymon fügt die beiden Umgebungsvariablen HOME und TTYPROMPT zur Umge-
     bung des Dienstes hinzu. HOME wird auf das HOME-Dateiverzeichnis der-
     jenigen Benutzerkennung gesetzt, unter welcher der Dienst aufgerufen
     wurde. TTYPROMPT wird auf die Prompt-Zeichenkette gesetzt, die für den
     Dienst konfiguriert ist, der diesem Anschluß zugeordnet ist. Dies
     dient dazu, daß ein von ttymon aufgerufener Dienst feststellen kann,
     ob ttymon einen Prompt ausgegeben hat, und, falls ja, wie dieser lau-
     tete.









Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

ttymon(1M)                                                       ttymon(1M)

     Ist für den Dienst NONE angegeben, wird kein Dienst gestartet. ttymon
     hält in diesem Fall lediglich die Schnittstelle offen, bis ein SIGHUP
     an der Schnittstelle auftritt. Dann wird der Anschluß wieder in den
     Anfangszustand gebracht.

     Unter ttyadm(1M) finden Sie Optionen, die für Anschlüsse gesetzt wer-
     den können, welche von ttymon unter dem SAC überwacht werden.

   Wiederholtes Starten von Diensten
     In /etc/default/ttymon kann mit drei Variablen das wiederholte Starten
     von Diensten bzw. Initialisieren von Anschlüssen beinflußt werden.
     Wenn SPAWNLIMIT positiv ist und innerhalb von SPAWNINTERVAL Sekunden
     ein Dienst SPAWNLIMIT oft initialisiert werden muß, wird er für
     SPAWNINHIBIT Sekunden suspendiert, bevor wieder versucht wird, den
     Anschluß zu initialisieren. Sollte SPAWNINHIBIT = 0 sein, so wird der
     Dienst solange suspendiert, bis jemand das Kommando sacadm -p pmtag -x
     absetzt.

   Umgebungsvariablen
     Der ttymon läßt sich mittels Umgebungsvariablen konfigurieren. Die
     Variablen werden vorzugsweise in der monitor-spezifischen Konfigurati-
     onsdatei /etc/saf/pmtag/config gesetzt [siehe doconfig(3C)]. Die fol-
     genden Variablen werden erkannt:

     TMSERVREPORT     Wenn auf "off" gesetzt, wird das Starten eines
                        Dienstes nicht in der Logdatei protokolliert. Stan-
                        dard ist "on".

     TMOPENTIME       Zeit in Millisekunden, die die Initialisierung
                        eines Anschlusses benötigen darf. Kann die Initia-
                        lisierung nicht in dieser Zeit abgeschlossen wer-
                        den, wird der Anschluß geschlossen und eventuell
                        später ein erneuter Versuch unternommen. Wenn
                        TMOPENTIME nicht gesetzt ist, wird TMOPENTIME =
                        1900 gesetzt.

     TMDELAYTIME      Zeit in Sekunden, für die ein Dienst suspendiert
                        wird, wenn am zugehörigen Anschluß ein Fehler auf-
                        trat, bevor erneut versucht wird, den Anschluß zu
                        initialisieren. Der Wert darf nicht negativ sein.
                        Wenn dies nicht der Fall ist oder wenn
                        TMDELAYTIME nicht nicht gesetzt ist, wird
                        TMDELAYTIME = 5 gesetzt. Man beachte, daß durch
                        diese Variable das wiederholte Starten von Diensten
                        im Fehlerfall beeinflußt wird, vgl. Abschnitt oben.

   Aufruf eines unabhängigen ttymon-Prozesses
     Die Option -g dient einer speziellen Anwendung von ttymon für Anwen-
     dungen, die nicht unter dem SAC vorkonfiguriert werden können. Diese
     Form des Kommandos sollte nur von Anwendungen aufgerufen werden, die
     die richtige Übertragungsgeschwindigkeit und die richtigen Termina-
     leinstellungen für einen Anschluß einstellen und dann eine Verbindung


Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

ttymon(1M)                                                       ttymon(1M)

     zum login-Dienst herstellen müssen. Mit der Option -g können die fol-
     genden Optionen kombiniert werden:

     -d device    device ist der vollständige Pfadname des Anschlusses, den
                  ttymon überwachen soll. Wird diese Option nicht angege-
                  ben, muß der aufrufende Prozeß den Dateideskriptor 0 auf
                  einen TTY-Anschluß setzen.

     -h           Ist die Option -h nicht gesetzt, erzwingt ttymon einen
                  Hängezustand für die Leitung, indem es die Geschwindig-
                  keit auf null setzt, bevor es sie auf den Standardwert
                  oder angegebenen Wert setzt.

     -t timeout   Gibt an, daß ttymon sich beenden soll, wenn in einer
                  Zeitspanne von timeout Sekunden nach der Ausgabe des
                  Prompts keine Eingabedaten empfangen wurden.

     -l ttylabel  ttylabel ist ein Verweis auf eine Geschwindigkeit und
                  TTY-Definition in der Datei ttydefs. ttymon entnimmt die-
                  ser Definition die anfängliche Geschwindigkeit, die
                  anfänglichen TTY-Einstellungen und die nächste Geschwin-
                  digkeit, die es ausprobieren soll, falls der Benutzer
                  durch Drücken der BREAK-Taste anzeigt, daß die Geschwin-
                  digkeit falsch ist. Das Standardlabel ist 9600 Baud.

     -p prompt    Der Benutzer kann hier eine Prompt-Zeichenkette eingeben.
                  Der Standard-Prompt lautet "Login: ".



























Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

ttymon(1M)                                                       ttymon(1M)

     -m modules   Bei der Initialisierung des Anschlusses entfernt ttymon
                  alle Module vom Anschluß. Dann legt es die unter modules
                  angegebenen Module in der angegebenen Reihenfolge auf den
                  Stream des Anschlusses. modules ist eine Liste mit Modu-
                  len, die durch Kommata voneinander getrennt sind und auf
                  einen Stream gelegt werden können. Standardmodule für
                  Anschlüsse werden normalerweise von der Autopush Facility
                  eingerichtet.

HINWEISE
     Wenn ein Anschluß von mehreren ttymon-Prozessen überwacht wird, können
     mehrere Prompts ausgegeben werden, die zu Überschneidungen beim Abru-
     fen der Eingabe führen.

     Wenn im Falle des Flags pre-prompt-config in der monitor-spezifischen
     Konfigurationsdatei Variablen gesetzt werden, so sollte dies vor dem
     ersten run- bzw. runwait-Kommando geschehen.

SIEHE AUCH
     pmadm(1M), sac(1M), sacadm(1M), sttydefs(1M), ttyadm(1M).


































Seite 5                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026