2015-01-07 142 views
-2

我正在制作一个基本上与核心服务器通信的Java命令行程序(称为此parent),并将动态启动另一个基于命令行的程序JAR(在父级内部使用进程调用此child)。在命令行程序中运行[不是真的]命令

问题是,当更新推出时,核心服务器将需要重新启动所有500+父服务器,并且在任何给定时间可能会有父服务器在其中运行子进程。

子进程侦听命令行输入,并在收到stop(注意输入流是链接的,因此如果我在控制台输入它会关闭)安全关闭。现在,我的问题是,如何将父服务器输入文本放入子服务器接收的命令行中?我试过Runtime.getRuntime().exec("stop"),没有用。

希望我已经清楚了;在此先感谢您的帮助!

+0

“命令行输入”。你的意思是它听/从标准输入读取? –

+0

是@MarcB,只是一台扫描仪。 –

+0

所以基本上只是一种方式来注入一个字符串,所以它可以拿起一个扫描仪 –

回答

0

假设您正在使用Java的API进程,您应该保留对Process对象的引用并通过Process#getOutputStream写出它的stdin。根据你从stdin中读取的内容,你也需要确保写一个换行符。