我有一个主java程序,它应该使用Runtime.exec()在自己的进程中启动其他java程序。
Runtime.exec("java -jar myapp.jar");是否有可能与这一新进程进行通信,例如发送请求、链接字段.?
如何关闭这个新创建的进程?我想我得到了一个处理程序,这样就可以终止这个过程。但还有更好的方法吗?
如果我杀死了进程,那么在进程被杀死之前,是否还会执行关闭下钩?
Runtime.getRuntime().addShutdownHook发布于 2014-10-06 21:32:12
是否有可能与这个新进程进行通信,例如发送请求、链接字段.?
您可以通过由Process返回的Runtime.exec对象与进程通信。只需使用Process.getInputStream/.getOutputStream。
如果您想在另一个Java上调用方法,可以查看RMI (“远程方法调用”)。另一个选择当然是套接字。见这个相关的答案。
没有直接的平台独立的方式来改变其他Java进程的字段。
如果我杀死了进程,那么在进程终止之前,是否还会执行关闭下钩呢?
这取决于您如何杀死它,但通常,是的,关闭钩子将被执行。
https://stackoverflow.com/questions/26225141
复制相似问题