Zum Inhalt springen

Runtime.exec ruft indirekt atftp auf fehler


Asgar13

Empfohlene Beiträge

Hallo,

Ich habe ein Javaprogramm, welches ein Shellscript ausführt, dieses Shellscript setzt einen path und ruft atftp(zum Router flashen) auf.

wenn ich den Befehl

atftp/dd-wrt.sh
in der Shell eingebe, führt er alles problemlos aus. wenn ich mit Java über
Runtime.getRuntime().exec(new String[]{"/bin/sh", "-c", "atftp/ddwrt.sh"}).waitFor();

führt er den Befehl nicht aus.

Hat jemand eine Idee, woran das liegt?

Link zu diesem Kommentar
Auf anderen Seiten teilen

//Test

	    File dd = new File("atftp/ddwrt.sh");

	    File inter = new File("/usr/bin/java");

	    boolean wrt = dd.exists();

	    boolean preter = inter.exists();

	    instructions.setText(" "+wrt+" "+preter);

Ich habe das Programm noch mal getestet, mit den obrigen eingebauten Zeilen, bei beiden sagt er mir true.(Habe eine GUI)

Ich versuche jetzt mal, die Shellausgabe abzufangen vom Shellscript, vielleicht steht da etwas interessantes drin.

Link zu diesem Kommentar
Auf anderen Seiten teilen

exitValue sagt mir, 0.

Und /bin/sh ersetzen sagt mir auch true:

 //Test

	    File dd = new File("atftp/ddwrt.sh");

	    File inter = new File("/bin/sh");

	    boolean wrt = dd.exists();

	    boolean preter = inter.exists();

	    instructions.setText(" "+wrt+" "+preter);

	    try{

	    Process p = Runtime.getRuntime().exec(new String[]{"/bin/sh", "-c", "atftp/ddwrt.sh "});

	    p.waitFor();

	    fieldR1.setText(""+ p.exitValue());

	    }

		catch(IOException ioexp){

		instructions.setText("Fehler beim ausführen der Datei...");

		}

		catch(Exception exp){

		instructions.setText("Fehler beim ausführen der Datei...");

		}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Zwischenreport:

1. absoluter Pfad hat den gleichen Effekt.

2. ausgabe vom Shellscript auf die Shell und dann in Java, habe ich nicht gefunden.

3. Habe mir ein anderes Shellscript gemacht, dieses beeinhaltet nur mkdir ok und dieses hat es mit dem Befehl und relativem Pfad funktioniert, habe dann noch einen zweiten Versuch mit export LD_LIBRARBY_PATH und aufrufen eines Programms gemacht, hat auch funktioniert, blos dieses atftp nicht.(Funktioniert nur über Shell???)

4. Beim String bin ich gerade dran

Link zu diesem Kommentar
Auf anderen Seiten teilen

4. Funktioniert auch nicht.

(Glaube langsam es liegt an der Art, wie das Shellscript aufgerufen wird)

		try {

			String atftp[]={"/bin/sh", "-c", "/media/6ddd2fdc-0090-4b7a-a505-62da639cab56/Projekt/atftp/ddwrt.sh"};

			Process p = Runtime.getRuntime().exec(atftp);

			BufferedReader in = new BufferedReader( new InputStreamReader((p.getInputStream())));

			for (String buffer;(buffer = in.readLine()) != null;

			//System.out.println(buffer));

			instructions.setText(buffer));


			in.close();

		} catch (IOException ioe) {

			ioe.printStackTrace();

		}
Shellscript:

#!/bin/sh

export LD_LIBRARY_PATH=atftp/lib

atftp/atftp --option "mode octet" --trace --no-source-port-checking --verbose -p -l firmware/dd-wrt.v24-14896_NEWD-2_K2.6_mini_RT-N16.trx 192.168.1.1 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...