Bash:将程序输出的每一行重定向到实时文件

时间:2014-03-19 00:33:48

标签: linux bash

我做了通常myprogram >> file,但它没有使用tail -f file进行实时更新,有没有办法做到这一点?

1 个答案:

答案 0 :(得分:4)

程序可以是无缓冲的,行缓冲的或块缓冲的。大多数情况下,如果tail -f没有给出您期望的输出,那是因为写入文件或流的程序是块缓冲的。换句话说,在缓冲区达到一定大小之前,它不会写入文件。那个尺寸可能相当大。对于许多程序,您可以强制程序进行行缓冲,以便在它到达换行符时立即写入。