【原创】rabbitmq-echopid用户手册(翻译)-阿里云开发者社区

开发者社区> 微服务> 正文

【原创】rabbitmq-echopid用户手册(翻译)

简介:

      为了方便工作中使用,周末抽空对 rabbitmq-echopid 用户手册进行了翻译,鉴于自己水平有限,翻译中难免有纰漏产生,如果疑问,欢迎指出探讨。

官方原文:http://www.rabbitmq.com/man/rabbitmq-echopid.man.html

================= 我是分割线 ==================

通过 http://www.rabbitmq.com/manpages.html 可知 RabbitMQ 有5个 General Command :

1. rabbitmqctl 
2. rabbitmq-plugins 
3. rabbitmq-server 
4. rabbitmq-service 

5. rabbitmq-echopid

若要对 server 进行高级配置,则需要参考 administrator's guide(http://www.rabbitmq.com/admin-guide.html


命令名 
rabbitmq-echopid.bat — 返回持有 RabbitMQ 服务的 Erlang runtime 进程 id 

概要 
rabbitmq-echopid.bat {sname} 

描述 
      该命令仅在 WIN 下存在。
      运行 rabbitmq-echopid 将会试图发现并回显持有 RabbitMQ 服务的 Erlang runtime 进程 (erl.exe) 的 PID 。为了允许 erl.exe 定时启动并加载 RabbitMQ,该脚本将会在 PID 被发现前等待10秒。 


      如果 PID 被发现,该脚本会在以 ERRORLEVEL 为0退出前将回显其值到 stdout 上,如果在超时前未发现 PID 值,则什么也不会回显到 stdout,而仅仅以 ERRORLEVEL 为1退出。 

      请注意该脚本仅在 Windows 平台上存在,因为需要等 erl.exe 的处理以及可能的超时情况。为了在 Unix 上获取 PID,需要在启动 rabbitmq-server 前设置 RABBITMQ_PID_FILE 的值,并且 rabbitmq-server 启动时不适用参数 -detached 。 

选项 
{sname} 
    RabbitMQ 节点名字的 short-name 形式 


rabbitmq-echopid.bat 的内容如下  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
@echo off
 
 
REM Usage: rabbitmq-echopid.bat <rabbitmq_nodename>
REM
REM <rabbitmq_nodename> sname of the erlang node to connect to (required)
 
 
setlocal
 
 
if "%1"=="" goto fail
 
 
:: set timeout vars ::
set TIMEOUT=10
set TIMER=1
 
 
:: check that wmic exists ::
set WMIC_PATH=%SYSTEMROOT%\System32\Wbem\wmic.exe
if not exist "%WMIC_PATH%" (
  goto fail
)
 
 
:getpid
for /f "usebackq tokens=* skip=1" %%P IN (`%%WMIC_PATH%% process where "name='erl.exe' and commandline like '%%-sname %1%%'" get processid 2^>nul`) do (
  set PID=%%P
  goto echopid
)
 
 
:echopid
:: check for pid not found ::
if "%PID%" == "" (
  PING 127.0.0.1 -n 2 > nul
  set /a TIMER+=1
  if %TIMEOUT%==%TIMER% goto fail
  goto getpid
)
 
 
:: show pid ::
echo %PID%
 
 
:: all done ::
:ok
endlocal
EXIT /B 0
 
 
:: something went wrong ::
:fail
endlocal
EXIT /B 1

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
微服务
使用钉钉扫一扫加入圈子
+ 订阅

构建可靠、高效、易扩展的技术基石

其他文章