我如何知道 RabbitMQ 应用程序是否已启动
How can I know whether RabbitMQ application has started
我有一个在 windows 服务器 2012 R2 上安装 rabbitmq 3.7.4、erlang 20.2 的 c# 代码,我需要知道应用程序(不是服务)何时启动。在 运行 rabbitmq-service install
和 rabbitmq-service start
之后,我正在寻找指示应用程序为 运行 的命令行。我知道 wait pid_file, wait --pid pid
命令,但无法在我的机器上找到 pid 文件。文档说:
This command will wait for the RabbitMQ application to start at the node. It will wait for the pid file to be created if pidfile is specified
指定在哪里?
rabbitmq-echopid.bat returns:
The system cannot find the path specified.
在Windows上,RabbitMQ默认不创建PID文件,所以你必须发现PID,然后将其作为参数传递:rabbitmqctl.bat wait -P PID
要发现 PID,您可以 运行 使用您的 RabbitMQ 节点的名称进行以下操作:
.\rabbitmq-echopid.bat rabbit@my-hostname
此时有一个错误,在回显PID之前会先回显The system cannot find...
。我提交了 this bug,很快就会有修复,但与此同时,您可以编辑 rabbitmq-echopid.bat
脚本,将 !TDP0!
更改为 %TDP0%
。
您还可以使用任何其他 Windows 工具来查找 erl.exe
进程的 PID 运行ning RabbitMQ - 请参阅脚本以获取 wmic.exe
的示例,或者您可以使用 tasklist
,或 Powershell 等
在 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@”与 hostname
windows 命令(在反引号内)结合动态生成的。
我有一个在 windows 服务器 2012 R2 上安装 rabbitmq 3.7.4、erlang 20.2 的 c# 代码,我需要知道应用程序(不是服务)何时启动。在 运行 rabbitmq-service install
和 rabbitmq-service start
之后,我正在寻找指示应用程序为 运行 的命令行。我知道 wait pid_file, wait --pid pid
命令,但无法在我的机器上找到 pid 文件。文档说:
This command will wait for the RabbitMQ application to start at the node. It will wait for the pid file to be created if pidfile is specified
指定在哪里?
rabbitmq-echopid.bat returns:
The system cannot find the path specified.
在Windows上,RabbitMQ默认不创建PID文件,所以你必须发现PID,然后将其作为参数传递:rabbitmqctl.bat wait -P PID
要发现 PID,您可以 运行 使用您的 RabbitMQ 节点的名称进行以下操作:
.\rabbitmq-echopid.bat rabbit@my-hostname
此时有一个错误,在回显PID之前会先回显The system cannot find...
。我提交了 this bug,很快就会有修复,但与此同时,您可以编辑 rabbitmq-echopid.bat
脚本,将 !TDP0!
更改为 %TDP0%
。
您还可以使用任何其他 Windows 工具来查找 erl.exe
进程的 PID 运行ning RabbitMQ - 请参阅脚本以获取 wmic.exe
的示例,或者您可以使用 tasklist
,或 Powershell 等
在 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@”与 hostname
windows 命令(在反引号内)结合动态生成的。