---
read_when:
    - Запуск або налагодження процесу gateway
    - Дослідження примусового забезпечення одного екземпляра
summary: Захист єдиного екземпляра Gateway за допомогою bind прослуховувача WebSocket
title: Блокування Gateway
x-i18n:
    generated_at: "2026-04-05T18:02:59Z"
    model: gpt-5.4
    provider: openai
    source_hash: 726c687ab53f2dd1e46afed8fc791b55310a5c1e62f79a0e38a7dc4ca7576093
    source_path: gateway/gateway-lock.md
    workflow: 15
---

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

## Чому

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

## Механізм

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

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

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

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

- Якщо порт зайнятий _іншим_ процесом, помилка буде такою самою; звільніть порт або виберіть інший за допомогою `openclaw gateway --port <port>`.
- Застосунок macOS, як і раніше, підтримує власний легкий PID-захист перед запуском gateway; runtime-блокування забезпечується через bind WebSocket.

## Пов’язане

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