runtime.exec(String command)例如,你运行的脚本的命令试/path/script.sh,则这里面command 就是这个命令就可以了。我是用unix据的例子。

解决方案 »

  1.   

    我在jsp中这样写的: 
       try{
          Runtime.getRuntime().exec("tail /home/test/a.txt >>b.txt");
        }
        catch(IOException re){
          re.printStackTrace();
        }
    在运行程序前我打开一个linux监控窗口,用tail -f b.txt,可是运行jsp为什么没有任何反应??而我将这个命令在linux下运行,可以看到监控窗口的b.txt附加了a.txt的内容!
    为什么????
      

  2.   

    补充:Runtime.getRuntime().exec("tail /home/test/a.txt >>/home/test/b.txt");的效果也一样
      

  3.   

    另外我在其中Runtime.getRuntime().exec("cd /home/test");调用cd命令会抛出一下异常
    java.io.IOException: cd: not found
            at java.lang.UNIXProcess.forkAndExec(Native Method)
            at java.lang.UNIXProcess.<init>(UNIXProcess.java:139)
            at java.lang.Runtime.execInternal(Native Method)
            at java.lang.Runtime.exec(Runtime.java:546)
            at java.lang.Runtime.exec(Runtime.java:413)
            at java.lang.Runtime.exec(Runtime.java:356)
            at java.lang.Runtime.exec(Runtime.java:320)
            at jsp_servlet.__shell._jspService(__shell.java:97)
            at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
            at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
            at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
            at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5445)
            at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:780)
            at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3105)
            at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2588)
            at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
            at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
      

  4.   

    cd /home/test确认你的路径对?
      

  5.   

    迷茫ing。应该没有问题了阿。
      

  6.   

    cd 是bash命令,所以你不能执行,,,就好比如 你在dos里面执行dir一样
    但是你可以执行pwd,mount,eject等等不是bash的命令,,,[email protected]
      

  7.   

    还有个问题啊!我想知道在调用完毕一个shell程序,如何获得程序执行的结果??比如:shell执行正确完成返回“0”,返回其他说明出错了。