在Linux上移动文件时的竞争条件

nab*_*nab 5 linux race-condition xfs

假设我有两个脚本.第一个将(使用mv命令)一些文件放入目录,第二个文件偶尔检查一次目录并处理文件.我关注的情况是当第二个脚本开始处理文件时,此时仅部分移动.这可能发生在XFS文件系统的现实生活中吗?

jan*_*neb 7

这取决于您从哪里移动文件.mv WITHIN单个文件系统是原子的,否则它必须做一个非原子的复制(后面是原始文件的删除),并且容易出现你提到的那种竞争条件.

FWIW,这是正常的POSIX语义,对XFS没有什么特别之处.