У меня есть execute (String cmd) в сценарии jsp, который вызывает метод exec из класса Runtime.
Это работает, когда я вызываю локальную команду, как скрипт php, хранящийся на сервере. например: / usr / bin / php / path / to / php / script arg1 arg2
Так что я думаю, что моя команда execute в порядке, так как она работает с этим.
Теперь, когда я пытаюсь вызвать lynx, текстовый веб-браузер, он не работает.
Если я позвоню в терминал, он будет работать нормально:
/ usr / bin / lynx -dump -accept_all_cookies 'http://www.someurl.net/?arg1=1&arg2=2'
Но когда я вызываю это из моей команды execute, ничего не происходит ...
Есть идеи, почему?
Это мой метод выполнения:
public String execute(String cmd){
Runtime r = Runtime.getRuntime();
Process p = null;
String res = "";
try {
p = r.exec(cmd);
InputStreamReader isr = new InputStreamReader(p.getInputStream());
BufferedReader br = new BufferedReader(isr);
String line = null;
//out.println(res);
while ((line = br.readLine()) != null) {
res += line;
}
p.waitFor();
} catch (Exception e) {
res += e;
}
System.out.println(p.exitValue());
return res;
}