我正在向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