我正在寻找一种方法来确保在启动它之前它尚未在其他某台机器上运行。在启动wamp之前,您如何检查现有的.pid?
我想到的最好办法是检查MySQL文件夹中现有的.pid。
最简单的事情就是修改快捷键,但我认为这不可能。 所以我需要做一些事情。
- 弄清楚其中的MySQL存储
- 检查的.pid文件是否存在,如果发现该文件抛出一个错误与文件减去扩展名,说明这样给他们一个暗示什么机器正在运行它。
- 如果不存在,那么继续前进,像通常那样使用快捷方式启动wamp。
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
我已经完成了很多工作,现在可以工作,但我还没有想出如何获得现有Wamp安装的注册表键值,以便我可以使用其安装路径。我想出的是... '@echo off forfiles/p bin \ mysql \/m * .pid/s/c“cmd/c msg */time:0对不起,Mysql已经在运行我无法为您启动WAMP。在再次运行之前关闭@FNAME中的WAMP。“ &&退出 启动wampmanager.exe' 这需要bat文件位于wamps目录中。 (对不起,乱码我不知道如何使它成为块) –
是wampmanager服务?如果是这样,那么使用sc.exe命令有很多检查/操作选项。 – theglossy1
'forfiles'启动一个新的命令过程。来自该新进程的'GOTO'不起作用(没有参考/跳转目的地)。如果存在“C:\ google_drive \ server \ wamp64 \ bin \ mysql \ *。pid”'那么怎么办呢? – Stephan