Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用O_追加写入的多个进程是否覆盖数据?_Python_Linux_File_Append - Fatal编程技术网

Python 使用O_追加写入的多个进程是否覆盖数据?

Python 使用O_追加写入的多个进程是否覆盖数据?,python,linux,file,append,Python,Linux,File,Append,我知道O_APPEND模式是原子模式,那么lseek和write是原子模式,但我认为如果多个进程写入一个日志,它们将覆盖彼此的数据 虽然O_APPEND是原子操作,但这两个进程同时设置了lseek,然后在写入日志旁边,这会覆盖数据。您在一次调用中写入的最大数量是多少?不会覆盖(数据丢失)。如果你认为会有并行写入的进程,你就不理解在这种情况下“原子”的含义——关键是查找和写入的行为就像它们同时发生一样。(在实际实现中,首先没有寻道。)然而,可能发生的是进程的输出是交错的。如果单个调用中写入的输出量

我知道O_APPEND模式是原子模式,那么lseek和write是原子模式,但我认为如果多个进程写入一个日志,它们将覆盖彼此的数据


虽然O_APPEND是原子操作,但这两个进程同时设置了lseek,然后在写入日志旁边,这会覆盖数据。

您在一次调用中写入的最大数量是多少?不会覆盖(数据丢失)。如果你认为会有并行写入的进程,你就不理解在这种情况下“原子”的含义——关键是查找和写入的行为就像它们同时发生一样。(在实际实现中,首先没有寻道。)然而,可能发生的是进程的输出是交错的。如果单个调用中写入的输出量很大,则更可能出现这种情况。