如何与现有的java进程通信

ssb*_*cse 4 java shell

如何将shell脚本中的某些值传递给已运行的Java程序?

Vla*_*hev 5

独立Java应用程序已在运行,因此命令行参数是不可能的.

剩下的最简单的替代方案是轮询文件,套接字和HTTP服务器.

轮询文件:

让你的Java应用程序在几秒钟内读取一个特定的目录.如果文件出现在该目录中,请阅读并按照说明进行操作.使shell脚本形成该文件.

插座:

让你的Java应用程序在套接字上侦听.使用netcat或类似的实用程序将命令发送到该套接字.

HTTP服务器:

在Java进程中启动HTTP侦听器.使用wget或类似的实用程序将命令发布到该侦听器:

HttpServer httpServer = HttpServer.create(new InetSocketAddress(port), 5);
httpServer.createContext("/", new TileServerRequestHandler());
httpServer.setExecutor(Executors.newCachedThreadPool());
httpServer.start();
Run Code Online (Sandbox Code Playgroud)