Dieser Blog ist mein persönlicher Blick auf die Welt der Programmierung – mit Themen zu #Webentwicklung und #Gamedev. Hier gibt's Wissen ohne Werbung – kompakt und in Textform. Für alle, die lieber lesen statt vorspulen.

Prozess killen, der auf einen bestimmten Port horcht

Am 11. März 2025 / von Nick / in Allgemein / < 1 Min. Lesedauer

Manchmal kommt es vor, dass Skripte nicht ordnungsgemäß gestoppt werden können. In der Webentwicklung wird man dann gerne mal mit der Fehlermeldung „Port 12345 already in use“ begrüßt. Generell ist es unter MacOS nicht schwierig die entsprechende Prozess-ID herauszufinden, allerdings kann sich doch unmöglich jemand den Befehl dazu merken. Was brauchen wir also? Unser kleines, dickes Notizbuch praktisches Bash-Script, mit dem wir den Prozess killen, der auf einen bestimmten Port horcht.

Leg dazu einfach eine Datei in deinem HOME Verzeichnis an, welches idealerweise bereits in deinem $PATH ist, sodass du es von überall aus aufrufen kannst.

$ touch $HOME/bin/kill-process-by-port
$ chmod +x $HOME/bin/kill-process-by-port

Code

#!/bin/bash

# Check if a port number is provided
if [ -z "$1" ]; then
    echo "Please provide a port number! Example: kill-procces-by-port 8701"
    exit 1
fi

PORT=$1

# Find all processes listening on the given port
PIDS=$(sudo lsof -t -i :"$PORT")

# Check if any PIDs were found
if [ -n "$PIDS" ]; then
    echo "Terminating the following processes on port $PORT: $PIDS"
    sudo kill -9 $PIDS
    echo "All processes on port $PORT have been terminated."
else
    echo "No process found on port $PORT."
fi

Nun kannst du das Skript von überall aus in deinem Terminal mit folgendem Befehl aufrufen:

$ kill-process-by-port PORT
$ kill-process-by-port 8080

Schlagwörter zu diesem Beitrag

easyscriptterminaltutorial