我想运行一个批处理脚本:
- 启动后台进程(Selenium RC 服务器,如果重要的话);
- 等到后台进程开始监听某个端口(或等待一段固定的时间);
- 运行一些指令;
- 停止后台进程。
我写了这个:
start java -jar "path\selenium-server.jar"
ping -n 5 127.0.0.1 >NUL
"path\Gallio.Echo.exe" "path\MyAssembly.dll"
REM now, how do I stop the background process?
你说“DOS”,但我想你的意思是 Windows CMD shell。(毕竟,MS-DOS 不是一个多任务操作系统。)
好的,好的——这是我刚刚完成的一个hack。即使提出这个建议,我也觉得有点肮脏。
假设“java”命令与窗口标题没有多大关系,那么“START”命令会将窗口标题设置为“随机数”-SELENIUM-SERVER-“随机数”,然后TASKKILL 将杀死任何带有那个标题。
呃……这让我觉得很脏。
如果“java”确实与窗口标题混淆,您也可以这样做:
这真的让我觉得很脏。这会创建一个带有随机标题的 CMD 窗口,然后在单独的窗口中启动“java”。TASKKILL 上的“/T”将杀死“FOO”窗口的所有子进程——即“java”窗口。
我觉得恶心。>微笑<