我正在使用命令向 Windows 环境下的 JAVA 中的子进程发送信号
Runtime.getRuntime().exec("kill -SIGINT "+Integer.toString(pid));
但是它给了我错误,无法运行程序kill,我做错了什么,我该怎么做?
任何帮助将不胜感激! 谢谢:-)
最佳答案
由于没有独立于平台的方法来终止进程,因此不能在 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。但是,如果您使用“结束进程”,进程将被直接终止,不会发送任何消息。
关于java - 如何在JAVA中向进程发送ctrl+c信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20769882/