Mosquitto重新加载配置文件

时间:2016-08-24 14:52:42

标签: windows mqtt mosquitto

我想在更改时重新加载mosquitto密码文件。 是否可以在Windows上发送SIGHUP("信号挂断")或某些等同于mosquitto服务器?

4 个答案:

答案 0 :(得分:2)

可以这样做。首先,您必须设置 mosquitto.conf ,通过指定pid_file将pid保存到文件中。

pid_file your/pid/file

然后你可以打电话

$kill -SIGHUP $(cat your/pid/file).

否则,如果您已经知道了蚊子的PID,那么您可以

$kill -SIGHUP PID

这将发送sighup信号并重新加载pwfile。更多信息可以在mosquitto conf

找到

答案 1 :(得分:1)

我认为你不能,但你可以使用mosquitto-auth-plugin,它允许你将ACL保存在一个数据库中,你可以在mosquitto运行时更新。

这为您提供了一系列不同的数据库后端,您可以动态添加,删除,更改ACL和用户。

答案 2 :(得分:1)

由于我发现该线程正在Linux上寻找答案,因此我认为此答复与某些人有关。

我想我找到了dulaj答案的简化版本(对于Linux)。如果查看/etc/init.d/mosquitto(在Mosquitto v.31上找到),您会看到有一个“ reload”选项,该选项在start-stop-daemon中添加了“ --signal HUP”并列出了作为“重新加载网络守护程序配置:mosquitto”。

因此,您应该能够运行“ sudo服务mosquitto重新加载”

答案 3 :(得分:0)

从Mosquitto的1.5版开始,您可以发出命名事件mosq<pid>_reloadthe relevant code change)的信号。

示例代码:

auto h = OpenEvent(EVENT_MODIFY_STATE, FALSE, "mosq0000_reload");
SetEvent(h);

可以在https://docs.microsoft.com/en-us/windows/win32/psapi/enumerating-all-processes上找到在Windows中获取pid的示例。