Provided by: util-linux-locales_2.41-4ubuntu3_all bug

НАЗИВ

       flock - управља закључавањима из скрипти шкољке

УВОД

       flock [опције] датотека|директоријум наредба [аргументи]

       flock [опције] датотека|директоријум -c наредба

       flock [опције] број

ОПИС

       Ово помагало управља flock(2) закључавањима изнутар скрипти шкољке или са линије наредби.

       Први и други од горњих образаца омотава закључавање око извршавања наредбе, на начин сличан su(1) или
       newgrp(1). Закључавају наведену датотеку или директоријум, који је направљен (под претпоставком
       одговарајућих дозвола) ако већ не постоји. По основи, ако се закључавање не може одмах добити, flock чека
       док закључавање не буде било доступно.

       Трећи облик користи отворену датотеку бројем њеног описника датотеке. Видите примере испод о коришћењу
       истог.

ОПЦИЈЕ

       -c, --command наредба
           Прослеђује једну наредбу, без аргумената, шкољци са -c.

       -E, --conflict-exit-code број
           Коришћено излазно стање када се -n опција користи, а сукобљавајуће закључавање постоји, или се -w
           опција користи, а временски истек је достигнут. Основна вредност је 1. број мора бити у опсегу од 0
           до 255.

       -F, --no-fork
           Не клонира пре извршавања наредбе. Након извршавања процес са гомиле се замењује наредбом која
           наставља да држи закључавање. Ова опција није сагласна са --close јер тада не би преостало ништа да
           држи закључавање.

       -e, -x, --exclusive
           Добија искључиво закључавање, које се понекад назива закључавање писања. Ово је основно.

       -n, --nb, --nonblock
           Не успева радије него да чека ако закључавање не може бити одмах задобијено. Видите опцију -E о
           коришћеном излазном стању.

       -o, --close
           Затвара описника датотеке на коме је држано закључавање пре извршавања наредбе. Ово је корисно ако
           наредба изроди проистекли процес који не би требало да држи закључавање.

       -s, --shared
           Придобија дељено закључавање, понекад звано закључавање читања.

       -u, --unlock
           Одбацује закључавање. Ово обично није потребно, пошто се закључавање аутоматски одбацује када се
           датотека затвори. Међутим, може бити захтевано у посебним случајевима, на пример ако је запакована
           група наредбе можда клонирала позадински процес који не би требало да држи закључавање.

       -w, --wait, --timeout секунде
           Не успева ако закључавање не може да се добије за секунде. Децималне разломачке вредности су
           допуштене. Видите опцију -E за коришћено излазно стање. Нулти број секунди се тумачи као --nonblock.

       --fcntl
           Instead of flock(2), apply an fcntl(2) open file description lock (that is, using the F_OFD_SETLK
           (non-blocking) or F_OFD_SETLKW (blocking) commands). These locks are independent of those applied via
           flock(2), but, unlike traditional POSIX fcntl() locks (F_SETLK, F_SETLKW), have semantics matching
           those of flock(2).

       This is only available on kernel versions >= 3.15.

       --verbose
           Извештава колико му је било потребно да добије закључавање, или зашто се закључавање не може добити.

       -h, --help
           Приказује текст помоћи и излази.

       -V, --version
           Display version and exit.

ИЗЛАЗНО СТАЊЕ

       Наредба користи <sysexits.h> вредности стања излаза за све, осим када користи од опција -n или -w које
       извештавају о неуспеху прибављања закључавања са стањем излаза датим опцијом -E, или 1 по основи. Стање
       излаза које даје -E треба да буде у опсегу од 0 до 255.

       Када се користи варијанта наредбе, и извршава радни проистекли, тада је излазно стање оно наредбе
       проистеклог.

БЕЛЕШКЕ

       flock не открива застој. Видите flock(2) за детаље.

       Неки системи датотека (нпр. NFS и CIFS) имају ограничену примену flock(2) и „flock“ увек може да не успе.
       За детаље погледајте flock(2), nfs(5) и mount.cifs(8). У зависности од опција качења, „flock“ ту увек
       може да не успе.

ПРИМЕРИ

       Знајте да је „shell> “ у примерима упит линије наредби.

       shell1> flock /tmp -c cat; shell2> flock -w .007 /tmp -c echo; /bin/echo $?
           Поставља изричито закључавање на директоријум /tmp а друга наредба неће успети.

       shell1> flock -s /tmp -c cat; shell2> flock -s -w .007 /tmp -c echo; /bin/echo $?
           Поставља дељено закључавање на директоријум /tmp а друга наредба ће успети. Знајте да покушај
           добијања изричитог закључавања са другом наредбом неће успети.

       shell> flock -x local-lock-file echo 'a b c'
           Граби изричито закључавање „локалне-датотеке-закључавања“ пре покретања „echo“ са „a b c“.

       (; flock -n 9 || exit 1; # ... наредбе извршене под закључавањем ...; )
       9>/var/lock/moja-datoteka-zaključavanja
           Образац је пригодан унутар скрипти шкољке. Режим коришћен за отварање датотеке није важан flock-у;
           коришћење > или >> омогућава датотеци закључавања да буде направљена ако већ не постоји, међутим,
           овлашћења писања су потребна. Коришћење < захтева да датотека већ постоји али је потребно само
           овлашћење писања.

       [ "${FLOCKER}" != "$0" ] && exec env FLOCKER="$0" flock -en "$0" "$0" "$@" || :
           Ово је користан шаблонски код за скрипте шкољке. Ставите га на врх скрипте шкољке коју желите да
           закључате и аутоматски ће се закључати при првом покретању. Ако променљива окружења $FLOCKER није
           постављена на скрипту шкољке која се покреће, тада извршава flock и граби изричито неблокирајуће
           закључавање (користећи саму скрипту као датотеку закључавања) пре него што се поново изврши помоћу
           правих аргумената. Такође поставља променљиву окружења „FLOCKER“ на праву вредност тако да се не
           покреће поново.

       shell> exec 4<>/var/lock/mylockfile; shell> flock -n 4
           Овај образац је погодан за закључавање датотеке без израђања подпроцеса. Шкољка отвара датотеку
           закључавања за читање и писање као описник датотеке 4, а затим се flock користи за закључавање
           описника.

АУТОРИ

       H. Peter Anvin <hpa@zytor.com>

АУТОРСКА ПРАВА

       Ауторска права © 2003-2006. H. Peter Anvin. Ово је слободан софтвер; погледајте извор за услове
       умножавања. Нема НИКАКВЕ гаранције; чак ни о ТРЖИШНОЈ ВРЕДНОСТИ или ПРИЛАГОЂЕНОСТИ ПОСЕБНОЈ НАМЕНИ.

ПОГЛЕДАЈТЕ ТАКОЂЕ

       flock(2), fcntl(2)

ПРИЈАВЉИВАЊЕ ГРЕШАКА

       For bug reports, use the issue tracker <https://github.com/util-linux/util-linux/issues>.

ДОСТУПНОСТ

       Наредба flock је део пакета „util-linux“ који се може преузети са Архиве Линукс кернела
       <https://www.kernel.org/pub/linux/utils/util-linux/>.

util-linux 2.41                                    2025-07-02                                           FLOCK(1)