Mqtt MOSQUITO中的地址已在使用中错误

Mqtt MOSQUITO中的地址已在使用中错误,mqtt,mosquitto,Mqtt,Mosquitto,我已经在我的ubuntu机器上安装了MOSQUITO服务器和客户端软件包。当我运行命令“mosquitto”来运行mosquitto服务器时,我得到一个错误“error:address ready in use”。为什么我会犯这个错误?如何解决这个问题?ubuntu上的安装会自动为您启动代理。尝试连接以检出: mosquitto_sub -t '$SYS/#' -v 如果您还没有安装mosquitto客户端软件包,则需要安装该软件包。我遇到了相同的问题,并通过终止运行mosquitto的进程解

我已经在我的ubuntu机器上安装了MOSQUITO服务器和客户端软件包。当我运行命令“mosquitto”来运行mosquitto服务器时,我得到一个错误“error:address ready in use”。为什么我会犯这个错误?如何解决这个问题?

ubuntu上的安装会自动为您启动代理。尝试连接以检出:

mosquitto_sub -t '$SYS/#' -v

如果您还没有安装
mosquitto客户端
软件包,则需要安装该软件包。

我遇到了相同的问题,并通过终止运行mosquitto的进程解决了此问题。首先,找到MOSQUITO进程id:

ps -ef | grep mosquitto
这将向您揭示任何与MOSQUITO相关的流程。例如,假设进程id为12345,则可以使用以下命令终止它:

sudo kill 12345

在此之后,错误:地址已在使用消息消失,mosquitto能够再次正常运行。

只需等待1分钟,然后再次执行消防关闭命令。 以下是我所遵循的,并使其发挥作用

步骤1:journalctl-u mosquitto

步骤2:服务mosquitto stop//而非系统CTL stop

只是为了检查它是否成功关闭,请使用此 可选-步骤3:systemctl状态mosquitcho.service

最后


步骤4:服务启动

软件包安装程序将mosquito设置为systemd服务,并自动启动它为您运行。它还将MOSQUITO配置为在重新启动时启动,因此您无需手动启动它

但有时在控制台窗口中运行它会很有帮助,比如测试一个新的配置文件,或者观察输出以查看客户端建立和断开连接等等。要执行此操作,您需要停止后台服务,您可以使用systemctl执行此操作:

$ systemctl stop mosquitto.service
完成测试并希望启动后台服务备份时:

$ systemctl start mosquitto.service
要检查它,请使用
状态
命令:

$ systemctl status mosquitto.service 
● mosquitto.service - Mosquitto MQTT Broker
     Loaded: loaded (/lib/systemd/system/mosquitto.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2021-05-10 10:17:41 EDT; 1 day 6h ago
       Docs: man:mosquitto.conf(5)
             man:mosquitto(8)
...
   Main PID: 1110 (mosquitto)
      Tasks: 1 (limit: 76805)
     Memory: 5.3M
     CGroup: /system.slice/mosquitto.service
             └─1110 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf

May 10 10:17:41 carter systemd[1]: Starting Mosquitto MQTT Broker...
May 10 10:17:41 carter systemd[1]: Started Mosquitto MQTT Broker.

这表明它正在运行,当它启动时,进程(主)PID和它正在使用的配置文件,等等。

谢谢,这很有帮助!或
systemctl禁用mosquitcho.service;如果您只想通过控制台在命令上运行systemctl stop MOSQUITO.service