Команда Flock удаляет все данные при блокировке файла - PullRequest
0 голосов
/ 31 марта 2020

остановка при ошибках

set -e

pidfile=/data/demo3.json

# lock it
exec 200>$pidfile
flock -n 200 || exit 1

# my code 
echo "hello"
sleep 20
echo "bi"

Я использую этот скрипт оболочки (утилита. sh) для блокировки файла demo3. json. Итак, когда этот скрипт (утилита. sh) запущен, я не хочу, чтобы кто-нибудь получал доступ к файлу demo3. json. Но этот скрипт не работает должным образом. Demo3. json права доступа к файлу: -rw-r - r -

во время = T1. С одного терминала я запускаю этот служебный скрипт ./utility.sh output - привет во время = T1 Со второго терминала я хочу получить доступ к файлу demo3. json cat demo3. json, но все данные в этом файле удаляются, и я также могу получить доступ к этому файлу одновременно. Может ли кто-нибудь помочь мне с этим?

...