一个关于java调用shell的问题 是不是你的这个路径有问题,用全名试试,如/home/user/bin/start.sh等 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1 你需要指定你的工作目录,比如参考1楼的用绝对路径2 可以这样做,参考 http://www.java2000.net/p9751 我昨天新整理的 Runtime runtime = Runtime.getRuntime(); Process process = runtime.exec("cmd /c dir",null,new File("e:/")); InputStream is = process.getInputStream(); InputStreamReader isr = new InputStreamReader(is,"GBK"); BufferedReader br = new BufferedReader(isr); exec 的第三个参数就是指定运行的时候的路径你可以顺便看看 ProcessBuilder的用法,这个比 exec 要更舒服一些 你把#!/bin/sh 改为#!/bin/bash 试一下, 我这有一个完整的例子,你可以看一下, public static int runSh(String cmd) { cmd = "/bin/sh " +cmd; try { Process pro = Runtime.getRuntime().exec(cmd); } catch (Exception e) { e.printStackTrace(); return -1; } return 1; } 1权限问题 2路径问题 先改成绝对路径试试看,如果在当前目录,要写成Process p = rt.exec("./start.sh"); 数据库登陆 java语音识别 请教一个关于hashcode()的问题! 摘除EJB 内存问题,请教大师如何优化 Stateful的SessionBean,为什么不同的客户端访问到的是同一个? 大家讨论一下TOMCAT能不能支持日访问量在50万的网站. <JSP:useBean...使用问题。。 struts 交友 这个sql查询语句,转为HQL语句,怎么写? 新手求助。 socket无法访问SQL2000的问题
2 可以这样做,参考 http://www.java2000.net/p9751 我昨天新整理的 Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("cmd /c dir",null,new File("e:/"));
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is,"GBK");
BufferedReader br = new BufferedReader(isr); exec 的第三个参数就是指定运行的时候的路径你可以顺便看看 ProcessBuilder的用法,这个比 exec 要更舒服一些
改为#!/bin/bash
试一下,
cmd = "/bin/sh " +cmd;
try {
Process pro = Runtime.getRuntime().exec(cmd);
}
catch (Exception e) {
e.printStackTrace();
return -1;
}
return 1;
}
2路径问题 先改成绝对路径试试看,如果在当前目录,要写成Process p = rt.exec("./start.sh");