我使用以下命令在java程序中运行脚本:
Runtime.getRuntime().exec()
我可以使用此功能打开终端应用。
如果我发出命令来运行脚本。它正在发生但我无法在终端中获取日志。我正在使用MAC。我想在终端中获取日志。
答案 0 :(得分:1)
您可以使用Process变量从该命令获取返回值,并使用以下方法:getInputStream(),getOutputStream(),getErrorStream()。例如:
Process p = null;
try {
p = Runtime.getRuntime().exec(....your stuff here)
p.getOutputStream().close(); // close stdin of child
InputStream processStdOutput = p.getInputStream();
Reader r = new InputStreamReader(processStdOutput);
BufferedReader br = new BufferedReader(r);
String line;
while ((line = br.readLine()) != null) {
//System.out.println(line); // the output is here
}
p.waitFor();
}
catch (InterruptedException e) {
...
}
catch (IOException e){
...
}
finally{
if (p != null)
p.destroy();
}
答案 1 :(得分:0)
上面的方法调用返回的Process
对象有getInputStream()
方法(以及错误和输出流的方法)。如果你想要绘制脚本的输入和输出,你必须阅读这些内容。
供参考:http://docs.oracle.com/javase/7/docs/api/java/lang/Process.html
答案 2 :(得分:0)
,使用>将日志输出到文件。例如:ls /> rootfolder.txt
使用这种方式,您可以将日志输出到文件,然后从文件中读取日志。