0
我試圖從java運行一個命令。但命令沒有執行。任何人都可以指出爲什麼?從java運行一個Linux命令
String path = dest+"/info_updated.csv";
File file = new File(path);
String command = "sed -i '/" + subscriberId + "/d' "+file;
System.out.println("command "+command);
Runtime run = Runtime.getRuntime();
Process p = null;
try {
p = run.exec(command);
InputStream errorStream = p.getErrorStream();
p.waitFor();
} catch (IOException ioe) {
ioe.printStackTrace();
System.out.println("ERROR.RUNNING.CMD");
} catch (Exception e) {
e.printStackTrace();
} finally {
p.destroy();
}
return true;
}
在日誌中它正在正確地打印命令。
command sed -i '/L13876110226750000/d' /usr/share/apache-tomcat-6.0.37/webapps/SMS/info_updated.csv
但它沒有執行。
'-e'代替或補充'-i'? – user3159253
定義「不執行」,任何堆棧跟蹤?另外,這很可能會使tomcat重新部署SMS webapp – 2014-03-28 06:29:03
沒有shell =>不引用。 –