Você pode definir explicitamente as opções de buffer dos fluxos padrão usando uma chamada setvbuf em C (consulte este link ), mas se você estiver tentando modificar o comportamento de um programa existente, tente stdbuf (parte de coreutils começando com a versão 7.5 aparentemente).
Isso armazena em buffer stdout até uma linha:
stdbuf -oL command > output
Isso desativa totalmente o buffer stdout :
stdbuf -o0 command > output