ich möchte von einem Java-Servlet aus ein Shell-Skript unter Linux aufrufen.
Das ganz wollte ich mit
Process pro = Runtime.getRuntime().exec(cmd);
Leider erhalte dann aber beim Aufruf folgende Fehlermeldung:
java.io.IOException: /home/ms/gen_list: cannot execute
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:551)
at java.lang.Runtime.exec(Runtime.java:418)
at java.lang.Runtime.exec(Runtime.java:361)
at java.lang.Runtime.exec(Runtime.java:325)
at Call.connector(Caller.java:64)
at Call.main(Caller.java:85)
Any idea?
Mike
Hat der User, der das Servlet ausführt (bzw. den Tomcat) das recht das
shell-script auszuführen? Am besten 'mal mit chmod a+x testen.
> Mike
mfg
Joachim
--
Hungarian Notation is the tactical nuclear weapon of source code
obfuscation techniques
- http://mindprod.com/unmainnaming.html
"Joachim Sauer" <sa...@gmx.net> schrieb im Newsbeitrag
news:Xns9284A0C87F...@195.170.70.117...
> Hat der User, der das Servlet ausführt (bzw. den Tomcat) das recht das
> shell-script auszuführen? Am besten 'mal mit chmod a+x testen.
Ich habe das ganze (java ...) in einer shell als root ausgeführt...
Das Shellscript selbst läßt sich problemlos ausführen...
Mike
Ist sichergestellt, dass es sich bei dem Script um "wirklich" die Datei in dem
jeweiligen Verzeichnis oder um einen Alias handelt?
--
Simon Wilper
auch root erhält diesen fehler, wenn das shell-script für niemanden das
execuable-bit gesetzt hat (dann nimmt das system an, dass die datei nicht
zum ausführen gedacht ist und verhindert dies).
Wenn du das shell script trotz fehlendem executable ausführen willst,
solltest du vielleicht "/bin/sh /pfad/zum/script" probieren.
Yepp, das war´s !!!
Vielen Dank !!!
Mike