Я хочу запустить пакетный скрипт, который:
Я написал это:
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. (В конце концов, MS-DOS - это не многозадачная операционная система.)
Хорошо, хорошо ... Вот хак, который я только что придумал. Я чувствую себя грязным, даже предлагая это.
SET TASK=%RANDOM%-SELENIUM-SERVER-%RANDOM%
start "%TASK%" java -jar "path\selenium-server.jar"
ping -n 5 127.0.0.1 >NUL"
path\Gallio.Echo.exe" "path\MyAssembly.dll"
taskkill /FI "WINDOWTITLE eq %TASK%"
Предполагая, что команда "java" не очень сильно влияет на заголовок окна, эта команда "START" установит заголовок окна на "случайное число" -SELENIUM-SERVER- "random number", а затем TASKKILL убьет все окна с помощью это название.
Фу ... это заставляет меня чувствовать себя грязным.
Если "java" не соответствует заголовку окна, вы также можете сделать:
SET TASK=%RANDOM%-SELENIUM-SERVER-%RANDOM%
start "%TASK%" cmd /k start java -jar "path\selenium-server.jar"
ping -n 5 127.0.0.1 >NUL"
path\Gallio.Echo.exe" "path\MyAssembly.dll"
taskkill /T /FI "WINDOWTITLE eq %TASK%"
Который действительно заставляет меня чувствовать себя грязным. Это создает окно CMD со случайным заголовком, которое, в свою очередь, запускает "java" в отдельном окне. «/ T» в TASKKILL уничтожит все дочерние процессы окна «FOO», а именно окна «java».
Я болен. > улыбка <