我正在向Servlet发送请求。在那个Servlet中,我有一个执行终端并在那里运行一些命令的代码。我希望我的代码在响应我的请求之前等待终端进程。我如何管理它?在继续执行代码之前等待终端结果
下面你可以看到我的代码:
Process send = Runtime.getRuntime().exec(new String[] {"sh", "-c", fileNameShort + ".jar /tmp/"+ fileNameShort +".class; /home/ubuntu/android-x86.rund.sh -cp /tmp/"+ fileNameShort +".jar " + fileNameShort});
您必须从Process获取'OutputStream'和'ErrorStream'。任何写入普通STDOUT的内容都会传送到OutputStream,写入STDERR的任何内容都会传送到ErrorStream。有关更多信息,请参阅JavaDoc on Process:http://docs.oracle.com/javase/6/docs/api/java/lang/Process.html – CodeChimp
您是否知道'Process send = Runtime.getRuntime()。exec (new String [] {“sh”,“-c”,fileNameShort +“.jar/tmp /”+ fileNameShort +“。class; /home/ubuntu/android-x86.rund.sh -cp/tmp /”+ fileNameShort +“。jar”+ fileNameShort});'将在服务器端终端执行 – SpringLearner
@JqueryLearner是它在服务器端终端执行。我希望我的服务器响应等待该进程。 – birdcage