Befehlszeile

Die Befehlszeile des Servers ist eine Funktionalität, bei der der Server den Standard-Eingabestrom liest und jeweils zeilenweise die eingegebenen Daten verarbeitet.  Ausgaben, die auf die Befehle hin entstehen, werden in den Standard-Ausgabestrom geschrieben.

D.h. wird der Server in einem Terminalfenster bzw. einer Eingabeaufforderung ausgeführt, so bedeutet das normalerweise, daß mit Hilfe der Tastatur Eingaben vorgenommen werden können, die dann nach Drücken der Eingabetaste (ENTER) als ganze Zeile vom Server verarbeitet werden.  Die Ausgaben erscheinen normalerweise dann auch in diesem Terminalfenster bzw. der Eingabeaufforderung.  Die Einschränkung "normalerweise" ist hier deshalb stets angegeben, weil auch je nach Umgebung verschiedenste Möglichkeiten der Umleitung von Strömen gegeben sind.

Ausgaben des Logbuchs

Der Server kann angewiesen werden, Logbuch-Einträge auch in den Standard-Ausgabestrom zu schreiben.  Das erfolgt mittels des Schlüsselwortes terminal als Teil der Java™-Eigenschaft genRob.genControl.log.

Wurde der Server dazu instruiert, so erscheinen die Ausgaben der Befehlszeile mit denen des Logbuchs gemischt.  Die interne Darstellung der Logbuch-Einträge bleibt davon unberührt.

Ende des Eingabestroms

Wird der Eingabestrom geschlossen (z.B. Eingabe von Ctrl-D in der Bash bzw. Ctrl-Z in der CMD.EXE), so endet die Befehlszeilenfunktion des Servers (rückmeldungslos).  Eingaben werden danach nicht mehr gelesen.

Durch diese Eigenschaft kann z.B. in der Bash mit Hilfe einer Umleitung ein Server "im Hintergrund" gestartet werden (/dev/null gibt quasi Ctrl-D zurück):

java  -jar org.roblet.jar server  <  /dev/null  &

Daemon-Prozesse werden in ähnlicher Weise gestartet.

Befehle

Die Befehlszeile kann nur ganz einfache Befehle verarbeiten.  Ein ENTER ohne weitere Eingabe wird ignoriert.  Jeder Befehl ist jeweils ein einzelner Buchstabe, der vom Drücken der Eingabetaste gefolgt wird.  Vor und hinter jedem Befehl dürfen keine weiteren Zeichen stehen.

Folgende Befehle kennt der Server:

Befehl Beschreibung Ausgaben
e Beenden des Servers - laufende Roblets® werden (bedingungslos) beendet Es wird das Wort EXIT ausgegeben.
g Läßt den Garbage-Collector der JVM laufen. keine
h Zeigt eine Kurzübersicht aller Befehle an. Kurzübersicht aller Befehle
l Auflisten aller Threads und Gruppen in hierarchischer Form Auflistung aller Threads und Gruppen in hierarchischer Form abhängig vom JDK
m Ausgabe aller eingemeldeten und (noch) nicht aufgeräumten Instanzen des Speicherwächters (Schlüsselwort memorize muß Teil der Java™-Eigenschaft genRob.genControl.log sein).  Überwacht werden nur Instanzen, die auch potentiell Einträge ins Logbuch machen. Es werden die Instanzen mit Klassenname und identity hash code gefolgt vom Ergebnis der toString()-Abfrage (zum Zeitpunkt der Einmeldung).

Ist kein Speicherwächter aktiviert, so wird NO MEMORIZER ausgegeben.

p Auflisten aller Threads eingerückt nach Priorität Auflistung aller Threads eingerückt nach Priorität
powered by genRob®erzeugt am 30.12.2015 um 02:16:58.948 UTC mit
genRob®-genSite 3.4