问题:我们如何使用 Java 终止已经运行的进程,例如 firefox.exe?
答案:虽然 Process API 使您能够控制您的进程在您的应用程序中生成,它不提供终止外部进程的直接方法。但是,还有其他替代方法:
1。特定于平台的命令:
如果您的应用程序针对特定平台,您可以利用操作系统实用程序来终止进程。例如,在 Unix/Linux 上,您可以使用 Runtime.exec() 以进程 ID 作为参数来调用kill命令。
int exitCode = Runtime.exec("kill -9 " + processID).waitFor(); if (exitCode == 0) { System.out.println("Process killed successfully."); } else { System.out.println("Error killing the process."); }
2.第三方库:
考虑使用提供独立于平台的流程管理功能的第三方库。一种流行的选项是 [ProcessHandle API](https://docs.oracle.com/javase/9/docs/api/java/lang/ProcessHandle.html)。
ProcessHandle processHandle = ProcessHandle.of(processID); if (processHandle.isAlive()) { processHandle.destroy(); System.out.println("Process killed successfully."); } else { System.out.println("The process is already terminated."); }
注意:终止外部进程时要小心谨慎,因为它们可能有子进程或资源,需要适当处理以避免不可预见的后果。
以上是如何使用 Java 终止外部进程(例如 firefox.exe)?的详细内容。更多信息请关注PHP中文网其他相关文章!