1

What type of buffering does the standard error stream use by default in Linux?

Kusalananda
  • 320,670
  • 36
  • 633
  • 936
user486613
  • 21
  • 1

1 Answers1

2

From the manpage for stderr(3)

The stream stderr is unbuffered. The stream stdout is line-buffered when it points to a terminal. Partial lines will not appear until fflush(3) or exit(3) is called, or a newline is printed. This can produce unexpected results, especially with debugging output. ... Note that in case stdin is associated with a terminal, there may also be input buffering in the terminal driver, entirely unrelated to stdio buffering.

See also: What prevents stdout/stderr from interleaving??

JRFerguson
  • 14,570
  • 3
  • 34
  • 40