Остановить процесс, запущенный с использованием командного файла - PullRequest
2 голосов
/ 14 апреля 2011

Я запускаю пакетный файл из своего Java-кода, используя

Runtime.getRuntime().exec("cmd /c start myFile.bat");

, который, в свою очередь, запускает приложение, теперь я хочу остановить приложение, запущенное этим пакетным файлом, как этого добиться.может случиться так, что один и тот же несколько экземпляров одного и того же приложения уже запущены, но я хочу остановить запуск одного из этих пакетных файлов.Возможно ли, мой сервер работает на Windows.

, так как это было игровое приложение, и нужно, чтобы среда также пробовала

Runtime rt = Runtime.getRuntime() ;
            Process p = rt.exec("C:/Valve/HLServer/hlds.exe +maxplayers 32 -game cstrike -console +port 27015 -nojoy -noipx -heapsize 250000 +map cs_italy +servercfgfile server.cfg +lservercfgfile +mapcyclefile mapcycle.txt +motdfile motd.txt +logsdir logs -zone 2048",null,  new File("C:/Valve/HLServer")) ;

, но все равно не повезло: (

Ответы [ 2 ]

2 голосов
/ 14 апреля 2011

getRuntime() метод возвращает Process объект класса и используя объект Process, который можно вызвать destroy()метод объекта Process для уничтожения процесса

Process p = Runtime.getRuntime().exec("cmd /c start myFile.bat"); //starts the process
p.destroy();    //kills the process
1 голос
/ 14 апреля 2011
this will kill the command prompt not the method launched from that command prompt.

он прав

сделать это

 Process process = Runtime.getRuntime ().exec ("/folder/exec.exe") //your application
 p.destroy();
...