Назад | Перейти на главную страницу

Соглашение об именах для / var / lock / subsys в sysvinit с несколькими pid

В этом Статья "Советы и хитрости" от Red Hat, говорят:

Когда служба запускается через сценарий инициализации, в каталоге / var / lock / subsys / происходит обращение к файлу с тем же именем, что и сценарий инициализации. Когда служба остановлена, этот файл удаляется. Содержимое этого файла не имеет значения для данной статьи, если имя файла такое же, как у сценария инициализации.

Однако для некоторых служб может потребоваться несколько блокировок. Например, один из скриптов инициализации GitLab требуется замок для единорога и замок для sidekiq:

# The PID and LOCK files used by unicorn and sidekiq
UPID=$APP_PATH/tmp/pids/unicorn.pid
ULOCK=/var/lock/subsys/unicorn
SPID=$APP_PATH/tmp/pids/sidekiq.pid
SLOCK=/var/lock/subsys/sidekiq

Было бы лучше, если бы разработчики использовали /var/lock/subsys/gitlab-unicorn и /var/lock/subsys/gitlab-sidekiq? Или, возможно, каталог /var/lock/subsys/gitlab/?

Можно ли избежать этой проблемы, используя один файл блокировки?

Что лучше всего подходит для этой ситуации?