读取Java进程输出时出现的问题
我试图在Java代码中运行一个进程,并读取该进程的输出。问题是,当我运行该进程时,代码只是挂起 我尝试运行的命令是: RNAplex读取Java进程输出时出现的问题,java,processbuilder,Java,Processbuilder,我试图在Java代码中运行一个进程,并读取该进程的输出。问题是,当我运行该进程时,代码只是挂起 我尝试运行的命令是: RNAplex
Process p = Runtime.getRuntime().exec("RNAplex < query.fasta");
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
p.waitFor();
String msg;
while ((msg = stdInput.readLine()) != null) {
System.out.println(msg);
}
什么意思是
不起作用
?你能描述一下是什么吗wrong@Jens很抱歉我承认这有点模棱两可。我已经改写了。问题是进程没有输出,我假设这是因为它没有终止。我知道它会启动,因为我可以看到进程正在运行。您必须使用https://docs.oracle.com/javase/7/docs/api/java/lang/Process.html#getOutputStream()
以获取output@Jens我试试这个。奇怪的是,它是如何与自由命令一起工作的?我已经在question.mybe的底部添加了java控制台输出,因为free不从stdin读取任何内容
total used free shared buff/cache available
Mem: 125 43 41 0 40 81
Swap: 127 0 127