为什么拖尾输出日志有时会给出部分行?

4 pipe tail

有时,拖尾不断更新的输出日志并不能提供完整的行。这是为什么?

grep pattern input_file > output.log &
tail output.log
Run Code Online (Sandbox Code Playgroud)

为什么不完整打印最后一行?

Kev*_*vin 7

读取和写入文件不是行原子的,tail -f也不是行缓冲的。因此,当在tail -f写入文件时读取文件时,它可能会在写入文件的进程写入行尾之前到达文件末尾(因此停止打印)。发生这种情况时,它会打印一条不完整的行,因为它看到的就是这些。