如何使用 bash 触发 Java 方法
假设我启动一个 Java 应用程序:
java -cpwhatever.jar com.example.Start
进程正常启动并以 PID 1314 继续运行。
现在我希望系统根据用户请求触发一个方法。< br> 如何使用 bash 向正在运行的 PID 发出信号并让它触发一个方法?
Suppose I launch a Java application:
java -cp whatever.jar com.example.Start
Process launches ok and keeps running with PID 1314.
Now I would like the system to fire a method by users request.
How can I use bash to signal the running PID and have it fire a method?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我的想法是通过命名管道将 bash 回显数据发送到 Java 进程,我很确定 Java 对此有支持。
My thought is to have bash echo data to the Java processes via a named pipe, which I'm pretty sure Java has support for.
要与 Java 进程通信,您通常会使用另一个进程中的 RMI(这可能位于同一个 JAR 中)
但是,如果您想要一个纯 bash/unix 实用程序解决方案,您可以让应用程序在端口上侦听命令并发送返回响应。这意味着您可以使用普通的 telnet 发送命令并获取输出。其中一个示例是使用带有
wget
的http
服务器,或者您可以有一个简单的基于套接字的解决方案。To communicate with a Java process, you would normally use RMI from another process (this could be in the same JAR)
However, if you want a pure bash/unix utilities solution, you could have the application listen on a port for commands and send back responses. This means you could use plain telnet to send commands and get output. One example of this is to use a
http
server withwget
or you could have a simple socket based solution.