{{tag>system bash}}

====== flock ======

Простая защита от двойного запуска заданий cron.
Эта комманда запустит /root/myscript.sh и создаст lock-файл для данного процесса. Пока он активен, новый вызов данного скрипта не произойдет.
После завершения программы, блокировка файла снимается и процесс может быть снова запущен.
Параметр -w 600 определяет время ожидания комманды flock на освобождение lock-файла.
Для моментальной отмены выполнения процесса используйте параметр -w 0, для ожидания же бесконечно долгого времени параметр нужно опустить.

===== Принимаются следующие параметры: =====

  * **-s  --shared**     Устанавливает общую блокировку
  * **-x  --exclusive**  Устанавливает эксклюзивную блокировку
  * **-u  --unlock**     Снимите блокировку
  * **-n  --nonblock**   
  * **-w  --timeout**    Время ожидания блокировки
  * **-o  --close**      Закрывет дескриптор файла перед запуском команд
  * **-c  --command**    Запуск командной строки одного через оболочки


===== Пример использования: =====

==== crontab ====

<code>
* * * * * /usr/bin/flock --lockfile=/tmp/myapp.locked -- /path/to/myapp
</code>