Pracuję na systemie Yocto Linux, który ma ograniczony zestaw dostępnych narzędzi Linux. Chciałem zabić proces korzystający z określonego portu (1883).
Najpierw, aby zobaczyć, jakich portów słuchamy, użyłem następującego polecenia:
root@root:~# netstat -lt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
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
Następnie znalazłem nazwę procesu przy użyciu portu 1883 w następujący sposób:
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
Jak widać powyżej, to program /usr/sbin/mosquitto
używa portu 1883.
Na koniec zabiłem proces:
root@root:~# systemctl stop mosquitto
Użyłem systemctl
, ponieważ w tym przypadku była to usługa systemowa.
person
Daniel Jonsson
schedule
05.05.2020