mschlenstedt/Loxberry

Keine Echtzeitausgaben über System-Lib / command

Closed this issue · 1 comments

Nutzt man aus der System-Lib die command-Fuktion, werden die Ausgaben des ausgeführten Kommandos nicht in Echtzeit ausgegeben, sondern "gesammelt" in der Variablen $output und erst am Ende der Ausführung ins Log geschrieben.

Bei langen Ausführungszeiten, z. B. bei der Plugininstallation, ist das sehr störend, weil scheinbar nichts passiert und man die Installation nicht mitverfolgen kann.

Hier wird das Kommando ausgeführt:

my $output = qx { $command };

Und hier die Ausgabe nach Beendigung ins Log geschrieben:

$log->DEB ( $output );

Die Ausgabe muss direkt per Redirect ">> $log 2>&1" während der Ausführung ins Log geschrieben werden. Alternativ könnte man auch eine Pipe zum Kommando "tee" verwenden.

Fixed in 646b2a7