`stat -f` показывает тип файловой системы ext4 как ext2 / ext3

Помимо блокировки самого файла, вы можете создать файл, используемый как блокировку (файл блокировки). Для этого есть множество утилит, например procmail имеет файл блокировки , а в Debian пакет liblockfile-bin имеет файл блокировки . Procmail должен быть достаточно распространенным, чтобы быть доступным в большинстве систем.

Но в основном это сводится к примерно так:

tempfile=$(mktemp ./lock.XXXX)
lockfile=./lockfile
if ln $tempfile $lockfile ; then
    echo got it
    # do something
    rm $lockfile # after you're done
else 
    echo did not succeed
fi
rm $tempfile

ln не будет сбивать цель, если она уже существует, в отличие от чего-то вроде echo> file , вместо этого вы получите сообщение об ошибке, которое вы можете проверить .

ПРИМЕЧАНИЕ: , если вы хотите блокировать NFS , используйте какой-нибудь инструмент, созданный для этой цели. Семантика одновременного доступа к файлам через NFS ... по меньшей мере интересна.

3
22.01.2016, 10:47
0 ответов

Теги

Похожие вопросы