[JSP ] 請教有關Runtime.exec錯誤的問題

看板java作者 (我要努力認真!)時間17年前 (2009/03/02 13:24), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
我想寫一個網頁 然後放在windows架的apache上 藉這個jsp網頁去執行cluster程式 然後產生一些資料 再用網頁去抓那些資料回來 目前我的想法是 寫一個1.bat檔內容是 @echo off putty.exe -ssh xxx.xxx.xxx.xxx -l ptt -pw "ptt" -m linuxcmd.cmd linuxcmd.cmd內容是 sync cd mix1/ ./testBash.sh testBash.sh內容是 #!/bin/bash /cluster/opt/mpich2/bin/mpdboot -n 8 -f mpd2.hosts /cluster/opt/mpich2/bin/mpiexec -n 8 ./ok_MPI_GME_PBF.o 連結到cluster linux上去下指令 下一些執行的語法 等執行完會產生一些資料 再用網頁抓資料回來 但是目前把bat放到apache上 網頁的內容是 <%@ page contentType="text/html; charset=big5" pageEncoding="Big5" language="java" import="java.sql.*, java.util.Date, java.io.* , java.lang.Runtime.*" errorPage="" %> <html><head><title>Insert title here</title></head><body> <% Runtime o_run_notepad = Runtime.getRuntime(); o_run_notepad.exec("1.bat"); %> </body></html> 開啟網頁後會跳一個錯誤訊息 java.io.IOException: Cannot run program "1.bat": CreateProcess error=2 我在猜這個訊息是不是說我不能在遠端的windows上建立process去執行? 如果我在我自己電腦上直接執行1.bat確定可以完整產生檔案 但是把這幾個檔案放在網路遠端 然後用網頁去呼叫執行就會錯 請問我該怎麼修改才可以讓使用者利用網頁就可以跑這個程式 不用把那些檔案下載到自己端再執行 麻煩會的大大幫我解答一下 真的很感謝 *************************************************************** 第一次try自己電腦上執行bat 目前我是先試在自己電腦上執行1.bat檔 已確定可以連到cluster下指令執行平行程式 也確定有跑完 產生檔案 第二次try利用網頁執行本機端bat 再試驗利用網頁的方式去執行本機端的1.bat 當檔案在自己電腦上時 確定可以正常跑完所有的指令 第三次try利用網頁執行遠端的bat檔(絕對路徑) 但是把那些檔案放在server端時 再用網頁方式去執行就會跳 type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: Exception in JSP: /jsp_test/a/1.jsp:13 10: <% 11: Runtime o_run_notepad = Runtime.getRuntime(); 12: 13: o_run_notepad.exec("http://xxx.xxx.xxx.xxx/jsp_test/a/1.bat"); 14: 15: %> 16: Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException( JspServletWrapper.java:451) org.apache.jasper.servlet.JspServletWrapper.service( JspServletWrapper.java:361) org.apache.jasper.servlet.JspServlet.serviceJspFile( JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service( JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) root cause java.io.IOException: Cannot run program "http://xxx.xxx.xxx.xxx/jsp_test/a/1.bat": CreateProcess error=2, ‥t2Χ?‥i?uc java.lang.ProcessBuilder.start(Unknown Source) java.lang.Runtime.exec(Unknown Source) java.lang.Runtime.exec(Unknown Source) java.lang.Runtime.exec(Unknown Source) org.apache.jsp.jsp_005ftest.a._1_jsp._jspService(_1_jsp.java:58) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service( JspServletWrapper.java:331) org.apache.jasper.servlet.JspServlet.serviceJspFile(Js pServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) root cause java.io.IOException: CreateProcess error=2, ‥t2Χ?‥i?uc java.lang.ProcessImpl.create(Native Method) java.lang.ProcessImpl.<init>(Unknown Source) java.lang.ProcessImpl.start(Unknown Source) java.lang.ProcessBuilder.start(Unknown Source) java.lang.Runtime.exec(Unknown Source) java.lang.Runtime.exec(Unknown Source) java.lang.Runtime.exec(Unknown Source) org.apache.jsp.jsp_005ftest.a._1_jsp._jspService(_1_jsp.java:58) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service( JspServletWrapper.java:331) org.apache.jasper.servlet.JspServlet.serviceJspFile( JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) note The full stack trace of the root cause is available in the Apache Tomcat/5.5.26 logs. 這個錯誤 第四次try相對路徑 org.apache.jasper.JasperException: Exception in JSP: /jsp_test/a/11.jsp:13 10: <% 11: Runtime o_run_notepad = Runtime.getRuntime(); 12: 13: o_run_notepad.exec("1.bat"); 14: 15: %> 16: Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException( JspServletWrapper.java:451) org.apache.jasper.servlet.JspServletWrapper.service( JspServletWrapper.java:361) org.apache.jasper.servlet.JspServlet.serviceJspFile( JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) root cause java.io.IOException: Cannot run program "1.bat": CreateProcess error=2, ‥t2Χ?‥i?uc java.lang.ProcessBuilder.start(Unknown Source) java.lang.Runtime.exec(Unknown Source) java.lang.Runtime.exec(Unknown Source) java.lang.Runtime.exec(Unknown Source) org.apache.jsp.jsp_005ftest.a._11_jsp._jspService(_11_jsp.java:58) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service( JspServletWrapper.java:331) org.apache.jasper.servlet.JspServlet.serviceJspFile( JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) root cause java.io.IOException: CreateProcess error=2, ‥t2Χ?‥i?uc java.lang.ProcessImpl.create(Native Method) java.lang.ProcessImpl.<init>(Unknown Source) java.lang.ProcessImpl.start(Unknown Source) java.lang.ProcessBuilder.start(Unknown Source) java.lang.Runtime.exec(Unknown Source) java.lang.Runtime.exec(Unknown Source) java.lang.Runtime.exec(Unknown Source) org.apache.jsp.jsp_005ftest.a._11_jsp._jspService(_11_jsp.java:58) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service( JspServletWrapper.java:331) org.apache.jasper.servlet.JspServlet.serviceJspFile( JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.124.44.24 ※ 編輯: smallma009 來自: 140.124.44.24 (03/02 13:26) ※ 編輯: smallma009 來自: 140.124.44.24 (03/03 17:52)
文章代碼(AID): #19gssAd0 (java)
討論串 (同標題文章)
文章代碼(AID): #19gssAd0 (java)