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

# Blokada Gateway

# Blokada Gateway

Ostatnia aktualizacja: 2025-12-11

## Dlaczego

* Zapewnienie, że na tym samym hoście działa tylko jedna instancja gateway na dany port bazowy; dodatkowe gateway muszą używać odizolowanych profili i unikatowych portów.
* Odporność na awarie/SIGKILL bez pozostawiania przestarzałych plików blokady.
* Szybkie zakończenie z czytelnym błędem, gdy port sterujący jest już zajęty.

## Mechanizm

* Gateway wiąże nasłuch WebSocket (domyślnie `ws://127.0.0.1:18789`) natychmiast przy starcie, używając wyłącznego nasłuchu TCP.
* Jeśli wiązanie się nie powiedzie z `EADDRINUSE`, uruchamianie zgłasza `GatewayLockError("another gateway instance is already listening on ws://127.0.0.1:<port>")`.
* System operacyjny automatycznie zwalnia nasłuch przy każdym zakończeniu procesu, w tym przy awariach i SIGKILL — nie jest potrzebny osobny plik blokady ani krok sprzątania.
* Podczas zamykania Gateway zamyka serwer WebSocket oraz bazowy serwer HTTP, aby niezwłocznie zwolnić port.

## Powierzchnia błędów

* Jeśli inny proces zajmuje port, uruchamianie zgłasza `GatewayLockError("another gateway instance is already listening on ws://127.0.0.1:<port>")`.
* Inne błędy wiązania są raportowane jako `GatewayLockError("failed to bind gateway socket on ws://127.0.0.1:<port>: …")`.

## Uwagi operacyjne

* Jeśli port jest zajęty przez *inny* proces, błąd jest taki sam; zwolnij port lub wybierz inny za pomocą `openclaw gateway --port <port>`.
* Aplikacja na macOS nadal utrzymuje własną lekką blokadę PID przed uruchomieniem Gateway; blokada czasu wykonania jest wymuszana przez wiązanie WebSocket.
