我想在更改时重新加载mosquitto密码文件。 是否可以在Windows上发送SIGHUP("信号挂断")或某些等同于mosquitto服务器?
答案 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>_reload
(the 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的示例。