Estou trabalhando em um sistema Yocto Linux que possui um conjunto limitado de ferramentas Linux disponíveis. Eu queria matar o processo que estava usando uma porta específica (1883).
Primeiro, para ver quais portas estamos ouvindo, usei o seguinte comando:
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
Em seguida, encontrei o nome do processo usando a porta 1883 da seguinte maneira:
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
Como podemos ver acima, é o programa /usr/sbin/mosquitto
que está usando a porta 1883.
Por fim, eu matei o processo:
root@root:~# systemctl stop mosquitto
Eu usei systemctl
porque neste caso era um serviço systemd.