> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Блокування Gateway

## Навіщо

* Гарантувати, що на одному хості для одного базового порту працює лише один екземпляр Gateway; додаткові Gateway мають використовувати ізольовані профілі та унікальні порти.
* Переживати збої/SIGKILL без залишення застарілих файлів блокування.
* Швидко завершуватися з чіткою помилкою, коли порт керування вже зайнятий.

## Механізм

* Спочатку Gateway отримує файл блокування для кожної конфігурації в каталозі блокувань стану та перевіряє налаштований порт на наявність чинного слухача.
* Якщо записаний власник блокування зник, порт вільний або блокування застаріле, запуск повторно отримує блокування й продовжується.
* Потім Gateway прив’язує слухач HTTP/WebSocket (за замовчуванням `ws://127.0.0.1:18789`) за допомогою ексклюзивного TCP-слухача.
* Якщо прив’язування завершується помилкою `EADDRINUSE`, запуск кидає `GatewayLockError("another gateway instance is already listening on ws://127.0.0.1:<port>")`.
* Під час завершення роботи Gateway закриває сервер HTTP/WebSocket і видаляє файл блокування.

## Поверхня помилок

* Якщо інший процес утримує порт, запуск кидає `GatewayLockError("another gateway instance is already listening on ws://127.0.0.1:<port>")`.
* Інші помилки прив’язування відображаються як `GatewayLockError("failed to bind gateway socket on ws://127.0.0.1:<port>: …")`.

## Операційні примітки

* Якщо порт зайнятий *іншим* процесом, помилка така сама; звільніть порт або виберіть інший за допомогою `openclaw gateway --port <port>`.
* Під керуванням супервізора служб новий процес Gateway, який бачить наявний справний відповідач `/healthz`, залишає цей процес керувати. На systemd дубльований стартовий процес завершується з кодом 78, тож стандартний `RestartPreventExitStatus=78` зупиняє `Restart=always` від зациклення через конфлікт блокування або `EADDRINUSE`. Якщо наявний процес так і не стає справним, кількість повторних спроб обмежена, а запуск завершується чіткою помилкою блокування замість нескінченного циклу.
* Застосунок macOS і надалі підтримує власний легкий PID-захист перед запуском Gateway; блокування під час виконання забезпечується файлом блокування разом із прив’язуванням HTTP/WebSocket.

## Пов’язане

* [Кілька Gateway](/uk/gateway/multiple-gateways) — запуск кількох екземплярів з унікальними портами
* [Усунення несправностей](/uk/gateway/troubleshooting) — діагностика `EADDRINUSE` і конфліктів портів
