snippets · bash
Welcher Prozess blockiert meinen Port?
Apache, Caddy, Docker oder ein lokaler Dev-Server startet nicht: address already in use.
Das Problem
Der Port ist nicht das Problem – ein anderer Socket hört bereits darauf. Bevor du Prozesse abschießt, willst du wissen, wer und auf welcher Adresse lauscht.
Diagnose
sudo ss -ltnp 'sport = :<PORT>'
Beispiel für Port 443:
sudo ss -ltnp 'sport = :443'
Achte auf Local Address:Port und den Prozess. 0.0.0.0:443 beziehungsweise [::]:443 bindet breit; 127.0.0.1:443 nur lokal.
Wenn Docker im Spiel ist:
docker ps --format 'table {{.Names}}\t{{.Ports}}'
Damit siehst du, ob ein Container den Host-Port veröffentlicht.
Ergebnis interpretieren
Ist es ein erwarteter Reverse Proxy, sollte der zweite Dienst wahrscheinlich nicht denselben Host-Port binden, sondern intern dahinter laufen. Ist es ein alter Dev-Prozess, kannst du ihn gezielt stoppen.
Nicht mit kill -9 beginnen. Erst den Besitzer identifizieren, dann den Dienst über sein normales Werkzeug stoppen (docker compose down, systemctl stop ..., Dev-Server beenden).