nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

STDOUT und STDERR synchronisieren

Von: Tobias Nissen (tn@movb.de) [Profil]
Datum: 21.10.2009 17:16
Message-ID: <20091021171612.37479034.tn@movb.de>
Newsgroup: de.comp.lang.perl.misc
Moin!

Ich stehe gerade aufm Schlauch. Ich möchte gerne STDOUT und STDERR
synchronisieren, d.h. Ausgaben[0] sollen in der Reihenfolge auf
der Console (Debian Squeeze, Perl 5.10.0 built for i486-linux-gnu-
thread-multi) erscheinen, wie sie vom Programm herausgeschrieben
werden. Ich war immer der Meinung es würde dafür reichen, am Anfang
des Programms ein

$| = 1;

zu machen. Denn das Durcheinanderwürfeln der Meldungen liegt doch
daran, dass STDOUT gepuffert wird und STDERR nicht. Oder habe ich da
was missverstanden? (Anscheinend, sonst würd's ja funktionieren...)

Oder ist das gar nicht Perl's Schuld und meine Konsole[1] mischt da
STDOUT und STDERR?

Was ich nicht möchte, ist STDERR und STDOUT zusammenzulegen. Ich will
schon noch an der Kommandozeile mit

./script 1>stdout.out 2>stderr.out

filtern können.

Was kann man da machen?

Schöne Grüße!
Tobias

[0] also a la
print "foo"
bzw.
print STDERR "bar"

[1] urxvt mit bash

[ Auf dieses Posting antworten ]

Antworten