ฉันกำลังทำงานกับระบบ 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
เพราะในกรณีนี้มันเป็นบริการ systemd