Wie Sie sich machen Ausgabe ohne Pufferung von stdout und stderr

Ich habe ein problem mit der Protokollierung zur Ausgabe von einem automatisierten build.

Das bauen erfolgt mit einem Makefile und makefile-Dienstprogramm.

Das problem ist, dass normale Ausgabe wie compiler-Befehl Zeilen auf stdout aus und kompilieren Sie Fehler gehen an stderr.

Möchte ich, um die Ausgabe des builds, da es zeigen würde, auf dem Bildschirm. So etwas wie:

(stdout) CC -c file.cpp
(stderr) Compile error at file.cpp line 232, blah blah blah
(stdout) CC -c file2.cpp

Was ich versucht habe (von einem ksh-Skript) ist:

machen -k > bauen.log 2> bauen.melden Sie

Diese Ergebnisse in eine einzige log-Datei, aber das problem ist, dass die streams sind gepuffert und so das Ergebnis in der log-Datei ist alles Durcheinander.

Konnte ich erfassen Sie die Ausgabe in 2 separaten log-Dateien, aber dann hätte ich keine info, wie kleben Sie wieder zusammen in eine einzige log-Datei.

Gibt es eine Möglichkeit zum deaktivieren der Pufferung für stdout und stderr in diesem Fall?

InformationsquelleAutor Jeroen Dirks | 2009-02-17
Schreibe einen Kommentar