Prozess auf Port 3000 beenden (Mac)
Dein Dev-Server startet nicht, weil etwas schon Port 3000 belegt. So findest du es und beendest es im Terminal.
1. Herausfinden, was den Port belegt
Das zeigt den Prozess, der auf Port 3000 lauscht:
lsof -nP -iTCP:3000 -sTCP:LISTENDie Spalte PID ist die Prozess-ID. COMMAND sagt dir, was es ist, meist node.
2. Beenden
kill 41074Nimm die PID aus Schritt 1 statt 41074. Das sendet ein höfliches Stoppsignal (SIGTERM) und lässt dem Prozess Zeit, sich sauber zu beenden.
Der Einzeiler
kill $(lsof -ti tcp:3000 -sTCP:LISTEN)lsof -t gibt nur die PID aus, also bekommt kill genau den Prozess, der lauscht. Lauscht nichts, meldet kill einen Aufruffehler. Das ist in Ordnung.
Wenn er sich nicht beenden lässt
kill -9 $(lsof -ti tcp:3000 -sTCP:LISTEN)-9 (SIGKILL) lässt sich nicht ignorieren, aber der Prozess kann nicht mehr aufräumen. Versuch zuerst das normale kill.
Wenn er zurückkommt
Manche Tools starten ihr Kind neu, oder der eigentliche Prozess ist der Elternprozess (npm run dev startet node). Beende dann die ganze Prozessgruppe. Such die Gruppen-ID und sende das Signal an die Gruppe:
ps -o pgid= -p 41074
kill -TERM -- -41070Nimm die Zahl, die der erste Befehl ausgibt (hier 41070). Das Minus davor sagt kill, dass es die ganze Gruppe meint.
Wenn es ein Docker-Container ist
Docker veröffentlicht Ports über einen eigenen Prozess, die PID, die lsof zeigt, ist also nicht das, was du beenden willst. Liste stattdessen den Container auf:
docker ps --filter publish=3000
docker stop my-containersudo nur, wenn du weißt, was du beendest.Oder mit einem Klick
Rungeist sitzt in deiner Menüleiste und listet die Dev-Server, die aus deinen Projektordnern laufen, mit Port, Projekt und Laufzeit. Klick auf den auf Port 3000 und beende ihn. Es beendet die ganze Prozessgruppe, ein Kind, das sich neu starten würde, geht also mit, und deine Shell, dein Editor und deine KI-Sitzung bleiben unberührt.