停止使用批处理文件启动的进程

发布于 2024-11-01 08:46:31 字数 644 浏览 1 评论 0原文

我从我的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")) ;

但仍然没有运气:(

i launch a batch file from my java code using

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

which in turn launches an application, now i want to stop the application been launched by this batch file, how to achieve it. there may be the case that the same multiple instance of same application are already running, but i want to stop the one being launched by this batch file. is it possible, my server is on windows.

since this was game application and need the enviroment also tried

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")) ;

but still no luck :(

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

仙气飘飘 2024-11-08 08:46:31

getRuntime( ) 方法返回 处理类的对象并使用Process 可以调用的对象 destroy()< Process 对象上的 /code>方法用于终止进程

Process p = Runtime.getRuntime().exec("cmd /c start myFile.bat"); //starts the process
p.destroy();    //kills the process

getRuntime() method returns Process class's object and using the Process object you can call destroy() method on the Process object to kill the process

Process p = Runtime.getRuntime().exec("cmd /c start myFile.bat"); //starts the process
p.destroy();    //kills the process
还不是爱你 2024-11-08 08:46:31
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();
this will kill the command prompt not the method launched from that command prompt.

he is right

do this

 Process process = Runtime.getRuntime ().exec ("/folder/exec.exe") //your application
 p.destroy();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文