我正在使用命令
在Windows环境中向JAVA中的子进程发送信号Runtime.getRuntime().exec("kill -SIGINT "+Integer.toString(pid));
但它给了我错误,无法运行程序杀死,我做错了什么,我该怎么做?
任何帮助将不胜感激! 感谢: - )
答案 0 :(得分:1)
由于没有独立于平台的方法来终止进程,因此无法在Windows上使用KILL。
Process类有一个destroy()
方法可以使用。
请参阅http://docs.oracle.com/javase/7/docs/api/java/lang/Process.html#destroy()
<强>更新强> 如果你想要的是明确地/程序化地杀死任何类型的另一个程序/进程,在SysInternals的pstools中有一个名为“pskill”的小工具,其行为就像Unixen“kill”那样。
当用户从Windows任务管理器中选择任务并单击“结束任务”时,操作系统将发送WM_CLOSE。但是,如果使用“结束进程”,则直接终止进程,不会发送任何消息。
答案 1 :(得分:0)
您需要使用forcefully选项执行命令。尝试这个修改过的命令:
Runtime.getRuntime().exec("kill -f -SIGINT "+Integer.toString(pid));
希望这会对你有所帮助。