Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设我有 X 进程打开文件 Y 进行追加。每个进程当时只写一行(带有\n)(真正的日志条目)。
是否保证每行不会在文件 Y 中错误地交错?
更新:本地附加文件系统。
问题取决于正在进行的写入类型。如果您使用带缓冲的标准 I/O(这通常是大多数程序的默认设置),则缓冲区只会在写入几行后才会被刷新,并且在刷新时不一定是整数行。如果您正在使用 write(2) 或已将默认 stdio 缓冲更改为 line 或 unbuffered,那么只要行的大小合理(当然,如果行小于 512 字节),它可能会正确交错。