我从我的java应用程序中打开一个外部应用程序。如何从同一Java应用程序关闭此应用程序? 感谢
答案 0 :(得分:2)
你可以做的最好的事情(没有冒险进入凌乱/复杂/平台特定的东西)是在启动外部应用程序时调用的Process对象上调用Process.kill()
。
我认为这不能保证关闭应用程序 * ,并且有可能导致它不洁净地关闭;即不给应用程序保存打开文件的机会等。
*实际上,如果你从非根Java应用程序启动了“setuid root”进程,那么在* NIX上,操作系统不会让它发送任何信号。
答案 1 :(得分:0)
为什么没有启动和停止该应用程序的批处理(Windows)或脚本(* nix)文件,然后使用参数start / stop运行runtime.exec?
更新:
这可能有所帮助:http://it.toolbox.com/blogs/database-solutions/kill-a-process-in-windows-bat-19875
第二次更新
您还可以使用:'tasklist ^| findstr /i excel.exe'
答案 2 :(得分:0)
在Windows上,这将失败。这是一个前25个错误(或者可能是前25个错误),虽然它确实不是Java的错误......在Windows上,当父母被杀时,父进程中的任何子进程都不会被杀死.....并且很多方法可以解决这个问题(cmd / c任何东西,你将会在游戏中)