[linux] Daten aus konsolenprogramm abfragen

Gast #1104613
Lesenswert?

Hallo Leute,

Mein Problem:
Ich habe diverse Konsolenprogramme, die Systemzustände abfragen und 
überwachen. Nun will ich diese auf eine Mono C# GUI benutzen. Aber ich 
habe keinen blassen Schimmer, wie ich eine Konsolenapp dazu bringen 
kann, den "Textstring" den es erzeugt abzufragen oder ein neues Komando 
zukommen zu lassen.

Klar, ich könnte etwas wie PROGblafasel >> var machen, also die Ausgabe 
der App mir umpipen, aber die Apps sollen nur einmal gestartet werden 
(jede App läuft in einem eigenen Thread) und dann öfter mal abgefragt 
werden, ohne einen neuen Aufruf der App machen zu müssen.
Gast #1106305
Lesenswert?

Gibt es da nicht noch so etwas wie tee, womit man eine pipe in datei 
und stdout splitten kann?

Eine andere Lösung könnte mit socat möglich sein, wobei die Ausgabe 
auf socat (socket-cat) geschickt wird und die Anwendungen sich per 
TcpIp-Socket-Verbindung damit versorgen lassen. Das klappt dann auch mit 
beliebig vielen Clients (die GUI-Anwendungen) simultan. socat kann dafür 
eine pipe-FIFO-Datei erzeugen, die als Verbindungsstelle "zum Füttern" 
verwendet wird.
Es lohnt sich einmal die Doku zu socat zu studieren.
Gast #1106818
Lesenswert?

Vielleicht socat so configurieren, daß eine virtuelle Schnittstelle 
entsteht, also ein Pseudo-Terminal, und dabei socat einen Device-Link 
erzeugen lassen. Die Daten erzeugenden Terminals können dann ihre Daten 
auf das "Device" schicken; socat liest die Daten und verteilt sie an die 
GUI-Anwendung(en). - So würde ich das versuchen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren