Ich arbeite an einem Yocto Linux-System, das über einen begrenzten Satz verfügbarer Linux-Tools verfügt. Ich wollte den Prozess beenden, der einen bestimmten Port (1883) verwendet.
Zunächst habe ich mit dem folgenden Befehl überprüft, welche Ports verwendet werden:
root@root:~# netstat -lt
Aktive Internetverbindungen (nur Server)
Proto Empf.-Q Send.-Q Lokale Adresse Ausländische Adresse Zustand
tcp 0 0 0.0.0.0:hostmon 0.0.0.0:* LISTEN
tcp 0 0 localhost.localdomain:domain 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:9080 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:1883 0.0.0.0:* LISTEN
tcp 0 0 :::hostmon :::* LISTEN
tcp 0 0 localhost:domain :::* LISTEN
tcp 0 0 :::ssh :::* LISTEN
tcp 0 0 :::1883 :::* LISTEN
Als nächstes habe ich den Namen des Prozesses gefunden, der Port 1883 verwendet, auf folgende Weise:
root@root:~# fuser 1883/tcp
290
root@root:~# ps | grep 290
290 mosquitt 25508 S /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
12141 root 8444 S grep 290
Wie wir oben sehen können, ist es das Programm /usr/sbin/mosquitto
, das den Port 1883 verwendet.
Zuletzt habe ich den Prozess beendet:
root@root:~# systemctl stop mosquitto
Ich habe systemctl
verwendet, da es sich in diesem Fall um einen systemd-Dienst handelte.