gpt4 book ai didi

Java Runtime.exec 通信可能吗?

转载 作者:太空宇宙 更新时间:2023-11-04 06:30:07 24 4
gpt4 key购买 nike

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

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

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

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

如果我杀死进程,在进程被杀死之前shutdownhook还会执行吗?

Runtime.getRuntime().addShutdownHook

最佳答案

Is there a possibility to communicate with this new process, e.g. sending request, chaing fields...?

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

如果您想调用其他 Java 进程上的方法,您可以查看 RMI (“远程方法调用”)。另一种选择当然是套接字。请参阅this related answer .

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

If I kill the process, will the shutdownhook still be executed before the process is killed?

取决于您如何杀死它,但通常情况下,关闭 Hook 将被执行。

关于Java Runtime.exec 通信可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26225141/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com