Erfassen von STDOUT und STDERR eines externen Programms * während * es ausgeführt wird (Ruby)

8

Szenario:

Ich muss ein externes Programm von meinem Ruby-Skript aufrufen, und dieses Programm sendet viele nützliche (aber kryptische) Informationen an stdout und stderr.

Während das Programm läuft , möchte ich die Zeilen analysieren, die es an stdout und stderr sendet und:

  • Entfernen Sie sie, wenn nicht notwendig
  • Formatieren / ersetzen Sie sie bei Bedarf

Ich habe alle üblichen Tricks ausprobiert (system, exec, popen, popen3, backticks usw.), aber ich kann nur stdout / stderr abrufen, nachdem das Programm ausgeführt wurde, nicht während seiner Ausführung.

Irgendwelche Ideen?

Oh, und ich bin auf Windows: - (

    
h3rald 30.10.2009, 13:01
quelle

1 Antwort

14

Eigentlich war es einfacher als ich dachte, das scheint perfekt zu funktionieren:

%Vor%

... und ja, es funktioniert unter Windows!

    
h3rald 03.11.2009, 09:03
quelle

Tags und Links