我正在使用 Apache Commons Exec 并尝试启动可以在整个应用程序期间工作的子进程。它应该启动进程,接受两个输入命令,并留在后台。现在它只接受一个命令(至少 stdout 显示的)并终止。你能帮帮我吗?
CommandLine cmdLine = new CommandLine("app.exe");
cmdLine.addArgument("argument");
DefaultExecutor executor = new DefaultExecutor();
OutputStream os = new ByteArrayOutputStream();
InputStream is = new ByteArrayInputStream(("command1;\ncommand2;\n").getBytes());
executor.setStreamHandler(new PumpStreamHandler(os,null,is));
DefaultExecuteResultHandler resultHandler = new DefaultExecuteResultHandler();
executor.execute(cmdLine,resultHandler);
System.out.println(os.toString());
resultHandler.waitFor();