АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

with-lock-ex - Интернет в облаке

Запускать with-lock-ex в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда with-lock-ex, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


with-lock-ex - шкафчик для файлов

СИНТАКСИС


с-замком-экс -w|-q|-f файл блокировки команду арг ...

ОПИСАНИЕ


with-lock-ex откроет и заблокирует файл блокировки для записи, а затем загрузит оставшуюся часть
его аргументы Exec(2); когда этот процесс завершится, fd будет закрыт, а файл
разблокируется ядром автоматически.

Если файл не существует, он создается с разрешениями rw для каждого класса пользователей для
который в маске есть w.

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


-w Подождите, пока блокировка станет доступной.

-f Ошибка (печать сообщения в stderr и выход из 255), если блокировка не может быть получена
сразу, потому что он есть у другого процесса.

-q Тихо ничего не делать (т. Е. Выйти из 0 вместо выполнения указанного процесса), если
Блокировка не может быть получена немедленно, потому что она есть у другого процесса.

STALE ЗАМКИ


Используемый протокол блокировки не страдает от устаревших блокировок. Если замок не может быть
получено, один или несколько запущенных процессов должны в настоящее время удерживать блокировку; если замок должен
быть освобожденными, эти процессы должны быть убиты.

Ни при каких обстоятельствах не следует запускать cron-задания по «устаревшей очистке блокировок» или тому подобное.
В системах, где может существовать очень много блокировок, старые файлы блокировок могут быть удалены из cron, но
только если каждая блокировка получена до того, как файл блокировки будет удален, например, с помощью

с-замком-экс -q файл блокировки rm файл блокировки

ЗАМКИ


Обнаружения взаимоблокировок нет. В системе с несколькими блокировками иерархия блокировок должна
быть установлено так, чтобы для каждой пары замков A и B который процесс может заблокировать
одновременно, либо A>B or B>A где отношение> транзитивно и нециклически.

Тогда для любых двух замков X и Y X>Y запрещено приобретать X удерживая Y.
Вместо этого приобретите X сначала или отпустите Y до (повторного) приобретения X и Y в этой последовательности.

(Есть более сложные способы избежать взаимоблокировок, но иерархию блокировок просто
понять и реализовать. Если это не соответствует вашим потребностям, обратитесь к литературе.)

БЛОКИРОВКА ПРОТОКОЛ


Протокол блокировки, используемый с-замком-экс заключается в следующем:

Блокировка удерживается процессом (или группой процессов), который удерживает эксклюзивную блокировку fcntl.
в первом байте простого файла с указанным именем. Держатель замка
(и только владелец блокировки) может удалить файл или изменить индексный дескриптор, которому присвоено имя
ссылается, и как только он это делает, он перестает удерживать замок.

Любой процесс может создать файл, если он не существует. Файл не нужно
содержат какие-либо актуальные данные. Действительно, на самом деле использование файла для хранения данных сильно
не рекомендуется, так как это исключает большинство стратегий для надежного обновления. Использовать
вместо этого отдельный файл блокировки.

Возможность получить блокировку соответствует разрешению на запись в файл (и, конечно,
разрешение на создание файла, если он еще не существует). Однако процессы с
только разрешение на чтение файла может вообще предотвратить получение блокировки; следовательно
файлы блокировки обычно не должны быть доступны для чтения всем.

Когда (группа) процессов желает получить блокировку, она должна открыть файл (с
O_CREAT) и заблокируйте его с помощью ФКНТЛ(2) Ф_RWLCK, операция F_SETLK or F_SETLKW. Если это
успешно, он должен fstat дескриптор файла, который у него есть, и файл по его пути. Если
устройство и индексный дескриптор совпадают, тогда блокировка была получена и остается полученной до тех пор, пока
группа процессов изменяет файл, к которому относится имя, удаляет файл или выпускает
блокировка fcntl. Если они этого не сделают, то другой процесс получил блокировку и удалил
файл тем временем; теперь вы должны закрыть свой файловый дескриптор и начать заново. с замком
ex следует этой спецификации.

Обратите внимание, что стадо(2) - это другой тип блокировки для ФКНТЛ(2). с-замком-экс использования ФКНТЛ.

Используйте with-lock-ex онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    libjpeg-турбо
    libjpeg-турбо
    libjpeg-turbo - это кодек изображений JPEG
    который использует инструкции SIMD (MMX, SSE2,
    NEON, AltiVec) для ускорения базового уровня
    Сжатие и распаковка JPEG на
    x86, x8 ...
    Скачать libjpeg-turbo
  • 2
    Xtreme Download Manager
    Xtreme Download Manager
    У проекта теперь новый дом:
    https://xtremedownloadmanager.com/ For
    Разработчики:
    https://github.com/subhra74/xdm Xtreme
    Менеджер загрузок — это мощный инструмент для...
    Скачать Xtreme Download Manager
  • 3
    ТТГО VGA32 Лайт
    ТТГО VGA32 Лайт
    Особенности: низкое разрешение 4:3 и 16:9.
    Выход VGAКлавиатура и мышь PS/2
    Пользовательский интерфейс на основе inputText (TUI)
    с диалоговым менеджеромЧастично Unicode
    поддержкаSlave dis...
    Скачать TTGO VGA32 Lite
  • 4
    Загрузчик Clover EFI
    Загрузчик Clover EFI
    Проект переехал в
    https://github.com/CloverHackyColor/CloverBootloader..
    Особенности: загрузка macOS, Windows и Linux.
    в UEFI или устаревшем режиме на Mac или ПК с
    УЭ...
    Скачать загрузчик Clover EFI
  • 5
    UnitedRPMS
    UnitedRPMS
    Присоединяйтесь к нам в Gitter!
    https://gitter.im/unitedrpms-people/Lobby
    Включите репозиторий URPMS в вашем
    система -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    Скачать объединенные рпмс
  • 6
    Boost C ++ библиотеки
    Boost C ++ библиотеки
    Boost предоставляет бесплатное портативное
    рецензируемые библиотеки C++.
    упор делается на портативные библиотеки, которые
    хорошо работать со стандартной библиотекой C++.
    Смотрите http://www.bo...
    Скачать библиотеки Boost C++
  • Больше »

Команды Linux

Ad