所以我现在正在尝试创建一个应用程序,它允许我通过WebSocket连接到java应用程序来启动和停止不同的进程。 我有一个班级来管理每个流程,如
public class ServerProgram {
Process p;
public void Start() {
this.p = new Process(...);
}
public void Stop() {
this.p.destroy();
}
}
答案 0 :(得分:1)
如何同时管理多个实例,以便运行多个流程?
当你在同一个程序/进程中同时做多件事时,你会使用线程。因此,每个ServerProgram
实例都应该在一个单独的线程中运行。
考虑使用ExecutorService
而不是直接为每个进程构建线程。
如何监控进程,启动服务器的线程能够知道进程何时崩溃?
这完全取决于您尝试监控的程序。您可以使用isAlive()
查看它是否仍在投放,并阅读流程“stdout和stderr。除此之外,您的进程可以执行任何其他操作,例如写入日志文件或与Java进程通信,如果您将其配置为执行此操作。
答案 1 :(得分:-1)
我想你可能想要使用线程intead处理器。你的意思是处理器的java classe?在这种情况下,您可以存储处理器列表