eddy_em: (Default)
[personal profile] eddy_em
А вот как надежно выполнить операцию замены содержимого файла атомарно? Я не парился особо: делал unlink старого файла, а потом создавал новый, но пару раз при получении FITS-файлов на 0.5-метровом телескопе обнаружил "пропажу" части данных из шапки (похоже, файл был открыт в тот момент, когда только заполнялся демоном).
В интернетах пишут, что нужно сначала создать временный файл, а затем при помощи rename подменить содержимое оригинального. Насколько это надежно? В манах пишут, что если в момент выполнения rename другой процесс обратится к файлу, "пропажи" он не заметит. А вот если он его откроет "чуть-чуть заранее" и успеет часть считать? Останется ли файл для него нетронутым, как при unlink, или же превратится в кашу, как при "перезаписи наживую"?

October 2025

S M T W T F S
   1234
567 89 1011
121314 15161718
19202122232425
2627 28293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 24th, 2026 07:54 pm
Powered by Dreamwidth Studios