---
title: "Porta em Uso (EADDRINUSE) — Solução"
url: "https://openclaw.ia.br/troubleshooting/porta-em-uso/"
markdown_url: "https://openclaw.ia.br/troubleshooting/porta-em-uso.MD"
description: "Como resolver erro EADDRINUSE quando a porta já está sendo usada. Liberar porta ocupada."
date: ""
author: ""
---

# Porta em Uso (EADDRINUSE) — Solução

Como resolver erro EADDRINUSE quando a porta já está sendo usada. Liberar porta ocupada.


# Porta em Uso (EADDRINUSE)

## Descrição do Problema

Ao iniciar o gateway, você recebe erro indicando que a porta já está em uso:

```
Error: listen EADDRINUSE: address already in use :::3000
Error: Port 3000 is already in use
bind: Address already in use
```

## Possíveis Causas

1. **Instância anterior rodando** - Gateway não foi parado corretamente
2. **Outro serviço na porta** - Nginx, Apache, outro app
3. **Processo zumbi** - Processo travado ocupando a porta
4. **Container Docker** - Container antigo ainda rodando

## Soluções

### 1. Identificar o Processo

```bash
# Ver qual processo está na porta 3000
lsof -i :3000

# Alternativa com netstat
netstat -tulpn | grep 3000

# Alternativa com ss
ss -tulpn | grep 3000
```

### 2. Matar o Processo

```bash
# Matar por PID (substitua pelo número real)
kill -9 <PID>

# Matar processos do openclaw
pkill -f openclaw

# Matar processo na porta específica
fuser -k 3000/tcp
```

### 3. Usar Outra Porta

```bash
# Iniciar em porta diferente
openclaw gateway start --port 3001

# Ou configurar no arquivo
# ~/.openclaw/config.yaml
gateway:
  port: 3001
```

### 4. Verificar Containers Docker

```bash
# Listar containers
docker ps -a | grep openclaw

# Parar container
docker stop <container_id>

# Remover container parado
docker rm <container_id>
```

### 5. Parar Outros Serviços

```bash
# Parar Nginx
sudo systemctl stop nginx

# Parar Apache
sudo systemctl stop apache2

# Verificar o que está rodando
sudo systemctl list-units --type=service --state=running
```

### 6. Limpar Processos Zumbis

```bash
# Encontrar processos zumbis
ps aux | grep -w Z

# Ver processos do node
ps aux | grep node

# Matar todos os processos node (cuidado!)
killall node
```

## Script de Diagnóstico

```bash
#!/bin/bash
PORT=${1:-3000}

echo "Verificando porta $PORT..."

# Verificar se está em uso
if lsof -i :$PORT > /dev/null 2>&1; then
    echo "Porta $PORT está em uso!"
    echo ""
    echo "Processo:"
    lsof -i :$PORT
    echo ""
    read -p "Deseja matar o processo? (s/n) " -n 1 -r
    echo
    if [[ $REPLY =~ ^[Ss]$ ]]; then
        fuser -k $PORT/tcp
        echo "Processo finalizado!"
    fi
else
    echo "Porta $PORT está livre!"
fi
```

## Problemas Relacionados

- [Gateway Não Inicia](#)
- [Múltiplas Instâncias](#)
- [Erro de Permissão](#)

## Prevenção

- Sempre pare o gateway corretamente com `openclaw gateway stop`
- Use portas diferentes para cada serviço
- Configure healthchecks para detectar processos travados
- Use process managers como PM2 ou systemd
