Java运行时间.可以执行通信



我有一个主java程序,它应该使用Runtime.exec()在自己的进程中启动其他java程序,例如

Runtime.exec("java -jar myapp.jar");

是否有可能与这个新流程进行通信,例如发送请求、链接字段。。。?

如何关闭这个新创建的进程?我想我得到了一个处理程序,因此可以终止这个过程。但是有更好的方法吗?

如果我终止进程,那么在终止进程之前,shutdownhook还会执行吗?

Runtime.getRuntime().addShutdownHook

是否有可能与此新流程进行通信,例如发送请求、链接字段

您可以通过Runtime.exec返回的Process对象与进程进行通信。只需使用Process.getInputStream/.getOutputStream

如果您想调用其他Java进程上的方法,可以查看RMI("远程方法调用")。另一种选择当然是插座。请参阅此相关答案。

没有直接的独立于平台的方式来更改其他Java进程的字段。

如果我终止进程,在终止进程之前是否仍会执行shutdownhook

这取决于你如何杀死它,但通常情况下,是的,关闭挂钩会被执行。

最新更新