使用命令行阻止mosquitto(MQTT)代理监听端口

时间:2013-09-18 08:37:57

标签: sockets ipv6 mqtt mosquitto

当我第一次运行Mosquitto(MQTT)经纪人时,没有任何问题。但是,当他第二次使用默认配置运行它时,由于以下错误,我无法成功运行代码:

1379497253:mosquitto版本1.2(建立日期2013-09-17 17:59:39 + 0530)开始 1379497253:使用默认配置。 1379497253:在端口1883上打开ipv6 listen套接字。 1379497253:错误:地址已在使用中

我想知道如何从命令行停止代理。如果有人可以提供帮助,那就太好了。

5 个答案:

答案 0 :(得分:14)

mosquitto开始成为一种服务。

sudo vi /etc/mosquitto/mosquitto.conf #more detail in `man mosquitto.conf`

sudo vi /etc/mosquitto/conf.d/custom.conf #add or change listening port as your need

sudo service mosquitto restart

答案 1 :(得分:6)

如果您不知道PID,那么您可以在linux中使用“pkill”而不是“kill”。 命令:“pkill mosquitto”

答案 2 :(得分:3)

你没有说你正在使用哪个操作系统,但假设它是Linux并且你在后台运行了mosquitto,你只需使用kill命令。

使用ps查找当前运行的mosquitto实例的pid然后杀死pid。

答案 3 :(得分:1)

您可以在bash中使用自己的批处理脚本文件,如mosquit.sh。 这是我在CentOS上停止它的脚本。

#!/bin/sh
sudo kill $(ps aux |awk '/mosquitto/ {print $2}')

答案 4 :(得分:0)

假设它是linux服务,kill命令将仅停止使用该特定套接字,并且在杀死PID时将在另一个套接字上打开。在redhat上,要终止服务将是systemctl stop mosquitto