2 回答
TA贡献1818条经验 获得超7个赞
在 Windows 上,RabbitMQ 默认不创建 PID 文件,因此您必须发现 PID,然后将其作为参数传递: rabbitmqctl.bat wait -P PID
要发现 PID,您可以使用 RabbitMQ 节点的名称运行以下命令:
.\rabbitmq-echopid.bat rabbit@my-hostname
这时候有一个bug,就是The system cannot find...
在回显PID之前会先回显。我提交了这个错误,很快就会修复,但同时你可以编辑rabbitmq-echopid.bat
脚本以更改!TDP0!
为%TDP0%
.
您还可以使用任何其他 Windows 工具来查找erl.exe
运行 RabbitMQ的进程的 PID - 有关 的示例,请参阅脚本wmic.exe
,或者您可以使用tasklist
、或 Powershell 等。
TA贡献1765条经验 获得超5个赞
在 Windows 上,您可以运行以下批处理脚本:
START /B rabbitmq-server
START /wait cmd /c "rabbitmq-echopid.bat -n rabbit@`hostname` > rabbitmq_pid.txt"
set /p PID=<rabbitmq_pid.txt
echo %PID%
del rabbitmq_pid.txt
cmd /c "rabbitmqctl wait -P %PID%"
请注意,要使rabbitmq-echopid命令起作用,您必须-n在节点名之前添加一个。
此外,在上面的批处理脚本中,节点名是通过将“rabbit@”与hostnamewindows 命令(在反引号内)结合起来动态生成的。
- 2 回答
- 0 关注
- 554 浏览
添加回答
举报