Ho letto che quando si reindirizza stdout
e si stderr
utilizza lo stesso file 2>&1
, di stdout
solito viene bufferizzato mentre stderr
non è bufferizzato.
Se viene scritta una linea molto lunga stdout
, che richiede due flush separati del buffer, potrebbe accadere che una linea da stderr
scivoli nel mezzo? Qualcosa come questo:
stdout: aaaaaaaa.....really long line......aaaaaaaaaaaa<newline>
stderr: eee<newline>
combined: aaaaaaaaaaaaaaaaeee<newline>
aaaaaaa<newline>