Archiv verlassen und diese Seite im Standarddesign anzeigen : ausführen externe Programme
Dreamers
18-01-2005, 09:28
Hallo erstmal.
Habe ein shell skript denn ich gerne über java starten möchte.
Und irgendwie geht es bei mir nicht.
Habe folgendes gemacht;
Runtime.getRuntime().exec("/bin/sh /orden/wo/prog/ist/ skript")
Was ist da falsch? fehlt mir irgendetwas?
Nutze Linux, für ein Tips währe ich sehr dankbar
Gibt er einen Fehler aus?
Rätselraten mag ich nicht. :p
Dreamers
18-01-2005, 10:34
sorry.
nein es kommt ja garn nix das ist das problem.
keine fehler und kein start vom Skript
anda_skoa
20-01-2005, 06:50
Da ja im Script normalerweiser der Interpreter drin steht, reicht ansich die Angabe des Scripts, am besten mit vollem Pfad.
Ciao,
_
Vielleicht ist es auch so, dass das Skript nicht fertig ausgefuehrt wird. Mach mal einen Prozess und warte auf den mit waitFor() geht das glaub ich!
ChMaster|LFreak
27-01-2005, 17:49
moin versuchs mal damit:
import java.io.*;
String cmd = "./blabla"; // hier dein programmname rein
try{
Runtime rt = Runtime.getRuntime();
Process p = rt.exec( cmd );
p.waitFor(); // warte solange bis der process beendet ist dann bringe die meldung ;)
System.out.println( cmd + "wurde beendet!" );
}catch(Exception e){
System.out.println(e);
}
String cmd = "./blabla"; // hier dein programmname rein
kann auch
String cmd = "blabla"; // hier dein programmname rein
Gruß
ChMaster|LFreak
Das Problem an exec ist, dass es so lange geht, wie du keine Parameter übergeben musst - also nur ein Programm starten. Sonst gibt es Probleme und funktioniert (zumindest bei mir) nicht.
MfG Bischi
PS: Vielleicht geht es mit einem einzelnen Argument - beispielsweise dem Namen für ein zu öffnendes Dokument - bin mir da nicht mehr sicher
anda_skoa
01-02-2005, 12:29
Für Programme mit Kommandozeilenargumenten nimmt man auch die exec() Variante mit String Array, sonst kann man sich nicht sicher sein, wie es in der verwendeten Shell ankommt.
Ciao,
_
peschmae
01-02-2005, 18:35
Doch, kann man schon. Die werden einfach durch einen "normalen" StringTokenizer gelassen wie in der Javadoc steht.
Allerdings kann es dann sein dass die Dinger nicht so ankommen wie man es will :)
MfG Peschmä
anda_skoa
01-02-2005, 20:23
Kleiner Widerspruch in sich?
sonst kann man sich nicht sicher sein, wie es in der verwendeten Shell ankommt
Doch, kann man schon.
Allerdings kann es dann sein dass die Dinger nicht so ankommen wie man es will
:D
Ciao,
_
peschmae
01-02-2005, 22:02
Nein. Was ich sagen wollte: Du kannst sicher sein wie es ankommt, nur ist das eventuell nicht das was du willst.
Kleine Spitzfindigkeit aber ich glaub (ausnahmsweise) hab mal ich und nicht du recht. :)
MfG Peschmä
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.