Das klappt nicht ganz. Also ein paar Grundlagen:
Das Pipezeichen '|' bewirkt, daß alles, was auf STDOUT der auf der linken Seite stehenden Befehl(-skette) geschrieben wird, an STDIN der auf der rechten Seite stehenden *Befehle* geleitet wird.
Das >-Zeichen ist einfach nur eine Ausgabeumleitung und schreibt alles, was von den Befehlen auf der Linken Seite kommt in die *Datei*, die auf der rechten Seite steht.
Also:
bedeutet: leite die Ausgabe von 'chatserver' (STDOUT) in die *Datei* /dev/null um. Sollte 'chatserver' jedoch Meldungen nach STDERR ausgeben, erscheinen diese trotzdem auf der Console.
Deshalb besser:
Das bedeutet: Leite die Ausgabe von 'chatserver' (STDOUT) in die *Datei* /dev/null und leite die "Fehlermeldungen" (STDERR) ebenfalls dorthin wo STDOUT hingeht. In diesem Fall /dev/null.
Wenn du jedoch die Ausgaben des Servers mitloggen willst, solltest du ganz einfach:
bedeutet: erstelle die Datei /var/log/chatserver.log und leite die Ausgaben von chatserver dorhin um.
Wichtig: existiert bereits eine Datei mit dem Namen wird diese überschrieben.
Um an eine bestehende Datei anzuhängen nimmt man '>>' Damit wird an eine bestehende Datei angehängt. Existiert keine Datei, wird auch keine erzeugt.
Bei all den verschiedenen "Versionen" belegt das Programm weiterhin die bash, d.h. es kann jederzeit mit
STRG-C abgebrochen werden.
Um das Programm im Hintergrund zu starten wird ein '&' an die Befehlszeile angehängt. Dann kann man auch auf der Console normal weiterarbeiten.