Я працюю над системою Yocto Linux, яка має обмежений набір доступних інструментів Linux. Я хотів убити процес, який використовував певний порт (1883).
Спочатку, щоб побачити, які порти ми слухаємо, я використав таку команду:
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
Далі я знайшов ім'я процесу за допомогою порту 1883 таким чином:
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
Як ми бачимо вище, саме програма /usr/sbin/mosquitto
використовує порт 1883.
Нарешті, я вбив процес:
root@root:~# systemctl stop mosquitto
Я використовував systemctl
becuase в цьому випадку це була системна послуга.