[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