diff options
| author | Jim Apperly <jim@rabbitmq.com> | 2012-02-15 15:00:19 +0000 |
|---|---|---|
| committer | Jim Apperly <jim@rabbitmq.com> | 2012-02-15 15:00:19 +0000 |
| commit | f4ec8fe68acf5104f067da4e483188745e99c707 (patch) | |
| tree | b69267dc39e648f9f27305c86484a624ac054487 /scripts/rabbitmq-echopid.bat | |
| parent | 5aab46a43864e3de13c46eb50a6af91f1e3b0fa4 (diff) | |
| download | rabbitmq-server-git-f4ec8fe68acf5104f067da4e483188745e99c707.tar.gz | |
Add errorlevels and wait-looping to rabbitmq-echopid.bat
Diffstat (limited to 'scripts/rabbitmq-echopid.bat')
| -rw-r--r-- | scripts/rabbitmq-echopid.bat | 42 |
1 files changed, 27 insertions, 15 deletions
diff --git a/scripts/rabbitmq-echopid.bat b/scripts/rabbitmq-echopid.bat index 2efbab7ada..c198240097 100644 --- a/scripts/rabbitmq-echopid.bat +++ b/scripts/rabbitmq-echopid.bat @@ -1,40 +1,52 @@ @echo off +REM Usage: rabbitmq-echopid.bat <rabbitmq_nodename> [<wait>] +REM +REM <rabbitmq_nodename> sname of the erlang node to connect to (required) +REM <wait> if specified, causes the script to wait until a pid is detected + setlocal -:: get the name of the node :: -set NODENAME="%RABBITMQ_NODENAME%" -if "%NODENAME%"=="" ( - set NODENAME=rabbit@%COMPUTERNAME% -) +if "%1"=="" goto wmic_fail +if "%2"=="wait" set WAIT=%2 + +:: set the node name :: +set NODENAME="%1" :: check that wmic exists :: set WMIC_PATH=%SYSTEMROOT%\System32\Wbem\wmic.exe if not exist "%WMIC_PATH%" ( - REM echo "%WMIC_PATH%" not found. - goto :wmic_end + goto wmic_fail ) :: build node name expression :: -set RABBITMQ_NODENAME_CLI=-sname %RABBITMQ_NODENAME% +set RABBITMQ_NODENAME_CLI=-sname %1 -FOR /F "usebackq tokens=* skip=1" %%P IN (`%%WMIC_PATH%% process where "name='erl.exe' and commandline like '%%%RABBITMQ_NODENAME_CLI%%%'" get processid 2^>nul`) do ( - SET PID=%%P - goto :wmic_echopid +:wmic_getpid +for /F "usebackq tokens=* skip=1" %%P IN (`%%WMIC_PATH%% process where "name='erl.exe' and commandline like '%%%RABBITMQ_NODENAME_CLI%%%'" get processid 2^>nul`) do ( + set PID=%%P + goto wmic_echopid ) :wmic_echopid - :: check for pid not found :: if "%PID%" == "" ( - REM echo Could not find erl.exe pid - goto :wmic_end + if not defined WAIT goto wmic_fail + PING 127.0.0.1 -n 2 > nul + goto wmic_getpid ) :: show pid :: echo %PID% :: all done :: -:wmic_end +:wmic_ok +endlocal +EXIT /B 0 +:: something went wrong :: +:wmic_fail endlocal +EXIT /B 1 + + |
