12

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

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

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

4

5 回答 5

17

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
于 2015-04-01T02:18:36.597 回答
12

如果您不知道 PID,则可以在 linux 中使用“pkill”而不是“kill”。命令:“杀灭蚊子”

于 2013-12-20T13:39:12.133 回答
5

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

使用 ps 找到当前运行的 mosquitto 实例的 pid,然后终止该 pid。

于 2013-09-18T08:57:04.667 回答
3

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

#!/bin/sh
sudo kill $(ps aux |awk '/mosquitto/ {print $2}')
于 2017-07-19T01:45:54.877 回答
1

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

于 2019-01-03T13:17:07.730 回答