[linux] stderr pipe redirection, buffering

Andrej Hosna adino na uid0.sk
Čtvrtek Červen 7 15:29:16 CEST 2007


> Otázka. Prečo je to tak?
Bufferovanie je rozdielne pre stdout a stderr. Pre stderr sa myslim vypisuje 
pri najneskor pri /n. (man setbuf)
> Záleží to od rôzneho bufrovania stdout a stderr?
Ano.
> Dá sa urobiť tak, aby sa poradie výstupov nezmenilo? Pomocou setvbuf?
Ano
> Dá sa zistiť ako je nastavené bufrovanie?
Ano, jednoducho z manualovej stranky.
 Normally all files are block buffered.  When the first I/O operation occurs 
on  a file, malloc(3) is called, and a buffer is obtained.  If a stream 
refers to a terminal (as std-out normally does) it is line buffered.  The 
standard error stream stderr  is  always  unbuffered  by default.



Další informace o konferenci linux