在开始使用之前,如何检查现有的.pid?

时间:2017-05-28 20:05:07

标签: mysql windows batch-file wamp wampserver

我正在寻找一种方法来确保它在启动之前还没有在其他机器上运行。

我发现的最好方法是检查MySQL文件夹中是否存在.pid 最简单的方法是修改快捷方式,但我不认为可能是afaik。 所以我需要做几件事。

  1. 找出存储MySQL的位置
  2. 检查是否存在.pid文件,如果发现该文件引发错误,说明文件名为MINUS扩展名,以便提示他们正在运行它的机器。
  3. 如果不存在,那么继续前进,就像通常使用快捷方式一样开始使用。
  4. DONE。

    如果有必要,我们可以询问用户ONCE存储wamp的位置然后它只是在%wamp%\ bin \ mysql 我尝试过这个脚本,但它没有正确执行,它打开2 cmd的窗口,只是暂停一下。 谢谢 熊

    @echo off  
    cd "C:\google_drive\server\wamp64"
    forfiles  /p bin\mysql\ /m *.pid /s /c "cmd /c goto error"
    start wampmanager.exe
    exit
    :error
    echo I'm sorry, Mysql is already running so I can't start WAMP for you. Shutdown WAMP on @FNAME before running again."
    pause
    

1 个答案:

答案 0 :(得分:0)

您可以使用以下方法检查文件是否存在:

if exist "C:\google_drive\server\wamp64\bin\mysql\*.pid

但根据您的描述,我猜,可能有多个.pid文件,因此有更好的选择:

setlocal enabledelayedexpansion
set "running="
for %%a in ("C:\google_drive\server\wamp64\bin\mysql\*.pid") do set "running=!running! %%~na,"
if "%running%" neq "" (
  echo I'm sorry, Mysql is already running so I can't start WAMP for you.
  echo Shutdown WAMP on: %running% before running again.
  pause
  goto :eof
)
start wampmanager.exe