使用从多个来源写入的 "tail -F foo.log" 时的文本对齐错误

text alignment bug when using "tail -F foo.log" which is being written to from multiple sources

我看到这个奇怪的 "bug",当我使用 tail -F foo.log 尾部文件时,某些内容实际上缩进的方式错误,因此前 20 个左右的字符被截断了。有人以前见过这样的东西吗?真的很奇怪,不知道为什么会这样。部分文本对齐正确,部分文本对齐不正确。

该文件正在从多个 Node.js 进程写入,但我几乎可以保证 none 进程在写入文件之前截断了前 ~20 个字符!

我唯一的假设是因为多个进程正在写入同一个文件并且一些进程正在使用 'w' 标志而其他进程正在使用 'a' 标志,这可能会导致一些损坏?每次腐败都非常consistent/deterministic。

看起来这是因为使用 'a' 和 'w' 标志以相同的进程写入相同的文件 - Write in a text file without overwriting in fs node js