CMD-Tool gesucht, das stdin und stdout synchronisiert



  • Hallo Leute,

    Der Titel ist vlt nicht ganz passend, aber was viel besseres ist mir auch nicht eingefallen. Ich habe einen Server, der zeilenweise Befehle von der Konsole einliest. Nun ist es aber so, dass jener Server Debug-Ausgaben macht, und diese koennen grundsaetzlich zu jeder beliebigen Zeit auftreten. Das heisst, wenn ich z.B. gerade einen Befehl eingebe, wird mir die Debug-Nachricht einfach direkt hinter das bisher eingegebene geschrieben.

    Ich haette gerne eine eigene Eingabezeile am unteren Bildschirmrand, sodass die Ausgaben im oberen Bereich einfach angehaengt werden koennen. Gibt es dafuer ein Tool, das sowas kann? Sollte idealerweise auf Windows, Linux und OS X laufen, aber Windows ist nicht so wichtig.

    Gruesse,
    Der Kellerautomat



  • Du willst also quasi einen Line-Buffered Terminal-Emulator der mit stdin/stdout eines anderen Prozesses plauschen kann.
    Pfuh, neh, kenn ich nix.

    Gegenvorschlag: lass deinen Server die Befehle über nen Socket empfangen. Dann kannste dich mit telnet o.ä. drauf connecten und Befehle schicken. Derweilen der Server gemütlich weiter auf stdout weiterloggen kann.

    Oder leite stdout in ein File um, und lass es dir mit tail anzeigen.



  • Ich will das ganze aber in einem Fenster haben...
    Editoren wie VIM koennen es doch auch. Kann also nicht so schwer sein.



  • Geht mit einem vernünftigen Terminal-Multiplexer ziemlich bequem in einem Fenster:

    • man: tmux(1) starten, tmux-Fenster splitten (Ctrl-b ")
    • unten: /pfad/zum/server &> dein_log_file
    • oben: tail -f dein_log_file

    (Zwischen dem oberen und unteren Bereich kannst du mit Ctrl-b o wechseln.)



  • Ach ja, tmux ist bei jeder mir bekannten Distro als Paket verfügbar und am Mac bequem via homebrew.



  • nman schrieb:

    [*]unten: /pfad/zum/server 2>&1 > dein_log_file

    Wenn sein Server die Debug-Messages auf stderr reihert, hat er die aber dann immer noch auf seinem Terminal. Also erst stdout in die Datei, dann 2=1. 😉



  • neuerbernd schrieb:

    Wenn sein Server die Debug-Messages auf stderr reihert, hat er die aber dann immer noch auf seinem Terminal. Also erst stdout in die Datei, dann 2=1. 😉

    Hoppla, Originalpost nicht vernünftig gelesen.

    Dann eben /pfad/zum/server &> dein_log_file . Ich editiere das oben mal um.



  • Kellerautomat schrieb:

    Ich will das ganze aber in einem Fenster haben...
    Editoren wie VIM koennen es doch auch. Kann also nicht so schwer sein.

    Ventilator



  • Danke, das sieht schon mal gut aus. Geht das evtl. auch mit screen? Das habe ich auf OS X naemlich schon. 🙂



  • Egal, habe es nun mit tmux probiert. Das klappt soweit auch, nur kann man die hoehe eines Panels offenbar nur auf 2 setzen, nicht auf 1. Und dann moechte ich das ganze auch noch in einem Startup-Script fuer meinen Server.



  • Sorry, hab deine Antwort ein bisschen spaet gesehen.

    https://github.com/remiprev/teamocil koennte dir helfen.


Log in to reply