Является ли rename () атомарной?

Я не могу проверить это с помощью экспериментов, да и не могу собрать это из страниц руководства.

Допустим, у меня есть два процесса, один из которых перемещает (переименовывает) файл file1 из каталога1 в каталог2. Допустим, другой запущенный процесс одновременно копирует содержимое каталогов directory1 и directory2 в другое место. Возможно ли, что копирование происходит таким образом, что и в каталоге1, и в каталоге2 будет отображаться файл1, т. Е. Каталог1 копируется перед перемещением, а каталог2 после перемещения первым процессом.

По сути, rename () является атомарным системным вызовом ?

Спасибо

40
задан Guy Avraham 10 February 2018 в 22:21
поделиться