Java 在命令行程序中运行[实际上不是]命令

Java 在命令行程序中运行[实际上不是]命令,java,command,execute,Java,Command,Execute,我正在让一个Java命令行程序调用这个父级,它本质上与核心服务器通信,并将使用进程在父级内部动态启动另一个基于JAR命令行的程序调用这个子级 问题是,核心服务器需要在发布更新时重新启动所有500多个父服务器,并且在任何给定时间都可能有250多个父服务器,其中包含运行子进程的子进程 子进程侦听命令行输入,并在收到输入流链接的停止通知时安全地关闭自己,因此如果我在控制台中键入此项,它将关闭。现在,我的问题是,如何让父服务器将文本输入到命令行中,以便子服务器接收?我尝试了Runtime.getRunt

我正在让一个Java命令行程序调用这个父级,它本质上与核心服务器通信,并将使用进程在父级内部动态启动另一个基于JAR命令行的程序调用这个子级

问题是,核心服务器需要在发布更新时重新启动所有500多个父服务器,并且在任何给定时间都可能有250多个父服务器,其中包含运行子进程的子进程

子进程侦听命令行输入,并在收到输入流链接的停止通知时安全地关闭自己,因此如果我在控制台中键入此项,它将关闭。现在,我的问题是,如何让父服务器将文本输入到命令行中,以便子服务器接收?我尝试了Runtime.getRuntime.execstop,但没有成功


希望我能说得足够清楚;提前感谢您的帮助

假设您正在为流程使用Java的API,您应该保留一个对流程对象的引用,并通过写入它的stdin。根据您从stdin读取数据的方式,您还需要确保编写一个换行。

命令行输入。你的意思是它从stdin中侦听/读取?是的@MarcB,只是一个扫描器。所以本质上只是一种注入字符串的方法,这样它就可以被扫描器拾取