我正在使用java进程生成器执行外部应用程序。
例如
./appl -file user@host:/tmp/out.log
此应用程序首先从外部主机检索文件out.log
,然后执行。此外,执行上述命令提示符后,它会提示输入主机密码。
如何使用 Java 进程生成器实现此目的?我尝试以下面提到的方式输入命令。但是,它会抛出一个错误,指出找不到主机。
List<String> command = new ArrayList<String>();
command.add("./appl");
command.add("-file");
command.add("user@host:/tmp/out.log");
正如你明确提到的:此外,执行上述命令提示符后,它会提示输入主机密码。
我相信该命令未执行的原因是因为您触发的子进程需要一个输入(主机密码),而您没有提供该输入。因此,您需要OutputStream
为子流程提供输入。首先,请阅读此问题。