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
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
- Tobias Nissen (21.10.2009 17:19)
- Frank Seitz (21.10.2009 21:42)
- Tobias Nissen (21.10.2009 23:36)
- Frank Seitz (22.10.2009 03:33)
