我正在使用一个应用程序,该应用程序由 10 个左右的 Java 进程组成,这些进程通过 JINI、JMS、套接字和一个运行在 Windows XP 上的 HSQL 数据库进行通信。
应用程序的每个部分似乎都有自己的 .bat 文件。例如有:
- ActiveMQ 代理
- HSQL 服务器
- JINI核心服务
- RMI 注册表
- 5 个运行的 Java 电源
- 1 个 Java 图形用户界面
这是一个截图,所以你可以看到我正在处理的疯狂:
我想弄清楚的是如何使用一个脚本或命令或使用某种 Java 库来停止所有这些进程。我不想强制用户关闭 10 个命令窗口。
关于处理这个的任何想法?
最佳答案
这看起来像一个真的糟糕的设计。有几种方法可以处理困惑:
计划 A:将所有内容作为一个应用程序放在一起,并让它在同一个 JVM 中运行 - 一个启动器类可以将您现在独立的每个进程作为一个简单的线程运行。如果应用程序不做任何非常邪恶的事情,它们应该能够共存于一个 JVM 中。
B 计划:让每个单独的 JVM 创建一个 ServerSocket 并通过它们应该关闭的套接字向它们发送消息。
方案C:获取ProcessView (http://www.teamcti.com/pview/prcview.htm),它可以从命令行运行并按名称(带通配符)杀死进程,所以你可以杀死所有java一口气处理。这是一个大锤解决方案,但可能适合您的短期需求。
关于java - 在 Windows XP 中停止 Java 进程的策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3835513/