А
Активация Linux
@activationlinux12 подп.
127просмотров
27 декабря 2025 г.
question📷 ФотоScore: 140
Как гарантировать, что скрипт или команда не запустится дважды? Часто cron запускается повторно, деплой стартует дважды, скрипт пересекается сам с собой. PID-файлы — ненадёжны. Проверки через ps — гонки. В Linux есть решение — flock. Запустить команду, только если она ещё не выполняется: flock -n /tmp/deploy.lock deploy.sh Если блокировка занят, flock завершится с ошибкой, команда не стартует. Для скриптов ещё надёжнее: exec 9>>/tmp/job.lock flock -n 9 || exit 1 С этого момента гарантированно: только один экземпляр, блокировка снимается автоматически при exit. 🔥 flock — это advisory-блокировка ядра с атомарной установкой, а не договорённость скриптов. Используйте её для cron, деплоя, миграций, бэкапов и CI-шагов.
127
просмотров
729
символов
Нет
эмодзи
Да
медиа

Другие посты @activationlinux

Все посты канала →
Как гарантировать, что скрипт или команда не запустится дваж — @activationlinux | PostSniper