Terminal Befehl mit Java unter Mac ausführen

Status
Nicht offen für weitere Antworten.

klaesmann

Mitglied
Hallo!

Folgendes Problem:
Ich möchte einen Befehl mit Parametern in meinem Java Programm aufrufen.
Ich habe keine Ahnung wie ich das unter Mac bzw. UNIX machen kann. Hier der
Befehl: "./indesignserver -iorfile "/IDS/ior.txt" -pluginpath "server/corba"

Wie wäre denn der Java Befehl dazu?

Vielen Dank für Eure Hilfe!
 

klaesmann

Mitglied
Leider öffnet er nur den Terminal. Führt aber den Befehl "ls -al" nicht aus. Wo liegt der Fehler?

Code:
try 
{
String [] command = new String [] {"ls","-al"};
Process process  = Runtime.getRuntime().exec("/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal",command);										  
System.out.println("");
} 
catch (IOException e1) 
{
// TODO Auto-generated catch block
Logging.logEventEntry("Fehler starten der Console !!!" + e1.toString());
}

Vielen Dank im voraus.
 

AmunRa

Gesperrter Benutzer
Java:
try 
    	{
    	String  command = "ls -lai";
    	Process process  = Runtime.getRuntime().exec(command);	
    	BufferedReader read= new BufferedReader (new InputStreamReader(process.getInputStream()));
    	String s;
    	while (( s=read.readLine())!=null)
     	System.out.println(s);
    	} 
    	catch (IOException e1) 
    	{
    	// TODO Auto-generated catch block
    		System.out.println(e1);
    	}
 

klaesmann

Mitglied
Vielen Dank für die schnelle Antwort.

Leider funzt mein Code mit einem String Array, der mehrere Befehle enthält nicht. Hier nocheinmal mein Code-Snippet:

Laut SUN kann ich auch einen Array ausführen. Ich bekomme aber keine Ausgabe und keine Exception.
Das Verzeichnis ist definitiv vorhanden.

Code:
try 
{
Runtime terminal = Runtime.getRuntime();
String [] cmd = new String [] {"cd \"/Applications/Adobe InDesign CS4 Server\" \n", "ls -lai \n"};
Process process = terminal.exec(cmd);										  
BufferedReader read = new BufferedReader (new InputStreamReader(process.getInputStream()));
String s;
while ((s = read.readLine()) != null)
{
	System.out.println(s);
}
  //DataOutputStream dOut = new DataOutputStream(process.getOutputStream());
  //dOut.writeChars("ls -al  \n");
	  
} 
 catch (IOException e1) 
 {
	// TODO Auto-generated catch block
Logging.logEventEntry("Fehler starten der Console !!!" + e1.toString());
}
 

Michael...

Top Contributor
Code:
String [] cmd = new String [] {"cd \"/Applications/Adobe InDesign CS4 Server\" \n", "ls -lai \n"};
Process process = terminal.exec(cmd);
Dein Array enthält zwei Kommandos. Wenn Du dieses per exec ausführen lässt, deutet die Runtime den ersten Eintrag als Kommando und die nachfolgenden aus Argumente zu diesem Kommando.
Weiss nicht, ob das mit dem Listkommando auch funktioniert, aber vielleicht hilft ja:
Java:
Process process = terminal.exec("ls -lai hierstehtderPfad");
 

AmunRa

Gesperrter Benutzer
Java:
try 
    	{
    	String  command = "ls -lai /Applications/Adobe InDesign CS4 Server";
    	Process process  = Runtime.getRuntime().exec(command);	
    	BufferedReader read= new BufferedReader (new InputStreamReader(process.getInputStream()));
    	String s;
    	while (( s=read.readLine())!=null)
     	System.out.println(s);
    	} 
    	catch (IOException e1) 
    	{
    	// TODO Auto-generated catch block
    		System.out.println(e1);
    	}
 

klaesmann

Mitglied
Hallo!
Das Snippet hat funktioniert. Aber wie kann ich das ganze jetzt noch im Terminal ausführen?
Das unten beschriebene Code - Snippet funzt leider net. Bin da rahtlos.
Code:
									try 
									{
										String [] cmd = new String [] {"/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal"};
										ProcessBuilder terminal = new ProcessBuilder(cmd);																					
										Process p = terminal.start();
										p.waitFor();
										DataOutputStream x = new DataOutputStream(p.getOutputStream());
										x.writeChars("cd \"/Applications/Adobe InDesign CS4 Server\"\n");
										x.writeChars("ls -al \n");																																									 
									} 
									catch (IOException e1) 
									{
											// TODO Auto-generated catch block
									  Logging.logEventEntry("Fehler starten der Console !!!" + e1.toString());
									} 
									catch (InterruptedException e2) 
									{
										// TODO Auto-generated catch block
										System.out.println("Error: " + e2.toString());
 

klaesmann

Mitglied
Ich möchte den Terminal öffnen.
In das Terminal Fenster folgende Befehle rein schreiben und ausführen:

(1) cd /Applications/Adobe InDesign CS4 Server
(2) ./indesignserver -iorfile "/IDS/ior.txt" -pluginpath "server/corba"

Die Befehle hinter (1) und (2) sind inclusive Anführungszeichen und Leerzeichen zu sehen.

Entschuldigung, für die Verwirrung.
 

AmunRa

Gesperrter Benutzer
warum möchtest du vorher in den Ordner wechseln?

und fürst nicht einfach das ganze in einem Befehl aus?
z.B.

/Applications/Adobe InDesign CS4 Server/indesignserver -iorfile "/IDS/ior.txt" -pluginpath "server/corba"

so etwa funktioniert das nicht?
Java:
    	try 
    	{
    	String  command = "/Applications/Adobe InDesign CS4 Server/indesignserver -iorfile \"/IDS/ior.txt\" -pluginpath \"server/corba\"";
    	Process process  = Runtime.getRuntime().exec(command);	
    	BufferedReader read= new BufferedReader (new InputStreamReader(process.getInputStream()));
    	String s;
    	while (( s=read.readLine())!=null)
     	System.out.println(s);
    	} 
    	catch (IOException e1) 
    	{
    	// TODO Auto-generated catch block
    		System.out.println(e1);
    	}
 

klaesmann

Mitglied
Folgende Fehlermeldung ist gekommen.

Fehler starten der Console !!! java.io.IOException: /Applications/Adobe: cannot execute
 

klaesmann

Mitglied
Ich möchte das ganze im Terminal ausführen, da dort Ausgaben seitens des Servers getätigt werden, die ich nicht extra in meinem Programm abfangen möchte.

Würde ich das ganze über den direkten Link
<</Applications/Adobe InDesign CS4 Server/indesignserver -iorfile "/IDS/ior.txt" -pluginpath "server/corba">>
im Terminal machen, käem No such directory. Was an den Leerzeichen liegt.
 
Zuletzt bearbeitet:

AmunRa

Gesperrter Benutzer
leider weis ich nicht wie man das dann machen sollte mit mhreren Befehlen in der Console

aber das mit den Leerzeichen würde sich korrigieren wenn du vor jedes Lehrzeichen in der Pfadangabe einen Backslash machen würdes
Java:
        try 
        {
        String  command = "/Applications/Adobe\\ InDesign\\ CS4\\ Server/indesignserver -iorfile \"/IDS/ior.txt\" -pluginpath \"server/corba\"";
        Process process  = Runtime.getRuntime().exec(command);  
        BufferedReader read= new BufferedReader (new InputStreamReader(process.getInputStream()));
        String s;
        while (( s=read.readLine())!=null)
        System.out.println(s);
        } 
        catch (IOException e1) 
        {
        // TODO Auto-generated catch block
            System.out.println(e1);
        }

Was sollte denn passieren nachdem die Programme im Terminal ausgeführt werden?
 

klaesmann

Mitglied
Der Terminal ist die einzige Möglichkeit den InDesign Server mit PlugIn zu laden und zu starten.
Da ich das ganze aber GUI gesteuert machen möchte, und leider kein C kann,
habe ich es mit Java probieren wollen.

Wenn es aber so ohne weiteres nicht geht, dann muss ich das wohl lassen.

Dennoch vielen, vielen Dank für die schnelle Hilfe.

Euch ein schönes WE.
 

klaesmann

Mitglied
Hallo!

Der Aufruf im Terminalfenster wäre:
Im Ordner "/Applications/Adobe InDesign CS4 Server" die Datei
"(./)indesignserver -iorfile "ior.txt" -pluginpath "server/corba" zu starten.

So der Aufruf. Nochmals Danke für Eure Hilfe.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Terminal Windows per Befehl schließen? Java Basics - Anfänger-Themen 9
Lion.King Subtraktion nach Eingabe im Terminal Java Basics - Anfänger-Themen 7
G Java-Programm Terminal Java Basics - Anfänger-Themen 2
N Best Practice Rückgabe eines Terminal Befehls in eine Variable speichern Java Basics - Anfänger-Themen 27
M Eingabe im Terminal nicht möglich Java Basics - Anfänger-Themen 20
B Drucken mit einem Terminal / Bon Printer Java Basics - Anfänger-Themen 4
J Zusätzliches Menü in einem Terminal erstellen Java Basics - Anfänger-Themen 0
Z Erste Schritte Versuche ein Labyrinth in einem Terminal zu erstellen, aber kann die properties Datei nicht einlesen Java Basics - Anfänger-Themen 3
W Java in "Terminal" schreiben Java Basics - Anfänger-Themen 9
N Eclipse Projekt im Terminal (Mac) öffnen.... Java Basics - Anfänger-Themen 4
B lanterna einzelne Zeichen aus dem Terminal löschen Java Basics - Anfänger-Themen 0
K Parameterübergabe im Terminal(Linux) Java Basics - Anfänger-Themen 8
S Terminal bei leerer Eingabe auslesen Java Basics - Anfänger-Themen 5
M In Netbeans kein Problem, im Terminal schon Java Basics - Anfänger-Themen 3
P javaw.exe zeigt trotzdem Terminal/CmdPrompt Java Basics - Anfänger-Themen 2
N Error beim Ausführen im Terminal Java Basics - Anfänger-Themen 5
NR_EIGHT Erste Schritte .class im Terminal (Mac OS X) nicht ausführbar! Java Basics - Anfänger-Themen 7
Damarus Terminal Programmieren Java Basics - Anfänger-Themen 2
N NetBeans Projekt im Terminal starten Java Basics - Anfänger-Themen 2
K Terminal - Mit oder Ohne? Java Basics - Anfänger-Themen 15
O Java- File in Shell/Terminal/etc. öffnen Java Basics - Anfänger-Themen 8
S Terminal Problem Java Basics - Anfänger-Themen 5
X wie bekomme ich durch Eingabeaufforderung definierte double in einen Befehl, welcher 3 erwartete double braucht? Java Basics - Anfänger-Themen 3
J jar Befehl wird nicht erkannt Java Basics - Anfänger-Themen 7
Viktor A. Kaiser Ampelschaltung mit if-Befehl Java Basics - Anfänger-Themen 11
Fodoboo131 RegEx- Umwandlung von String in ausführbares Objekt/ Befehl Java Basics - Anfänger-Themen 9
Lion.King switch-Befehl Java Basics - Anfänger-Themen 6
sserio Math. Befehl wird rot markiert Java Basics - Anfänger-Themen 5
Y Wie kann man überprüfen, ob bei einem Print Befehl tatsächlich etwas geprintet wurde? Java Basics - Anfänger-Themen 4
H Befehl wird nicht ausgeführt - System.out.println Java Basics - Anfänger-Themen 3
A Scanner Befehl Java Anfänger Java Basics - Anfänger-Themen 8
K Subklassen mit einzigem Befehl addieren Java Basics - Anfänger-Themen 6
F cmd Befehl ausführen Java Basics - Anfänger-Themen 4
S Datenbank Befehl nach Login Java Basics - Anfänger-Themen 5
D Input/Output Befehl aus Benutzereingabe herausfiltern Java Basics - Anfänger-Themen 12
T if else Befehl funktioniert nicht richtig Java Basics - Anfänger-Themen 27
N Javac -version der Befehl ist entweder falsch geschrieben oder...... Java Basics - Anfänger-Themen 8
O Methoden Runtime.getRuntime().exec(befehl); Java Basics - Anfänger-Themen 6
L Ist an diesem Befehl irgendwas falsch? Java Basics - Anfänger-Themen 2
F Wieso wird dieser Befehl nicht ausgeführt? (Anfänger) Java Basics - Anfänger-Themen 2
B Copy Paste Befehl Java Basics - Anfänger-Themen 6
O String: Befehl und Wert erkennen. Java Basics - Anfänger-Themen 4
D Erste Schritte Zuul - 2ten Befehl einführen Java Basics - Anfänger-Themen 68
D Erste Schritte Befehl back implementieren Java Basics - Anfänger-Themen 18
elischa unbekannter Befehl zur Compilezeit Java Basics - Anfänger-Themen 22
B Befehl um ein Befehl abzubrechen Java Basics - Anfänger-Themen 2
M Classpath Befehl zum Kompilieren um die Option classpath erweitern. Java Basics - Anfänger-Themen 5
F Konsolen Befehl ausführen und Rückgabe auswerten Java Basics - Anfänger-Themen 3
S Befehl current: Java Basics - Anfänger-Themen 3
Silvascus Void Methode einem Stringparameter im syso-Befehl hinzufügen Java Basics - Anfänger-Themen 3
slejden Erste Schritte der Befehl import Java Basics - Anfänger-Themen 2
C OOP array Sortieren ohne den sort Befehl Java Basics - Anfänger-Themen 10
J Problem WIE ohne Goto-Befehl lösbar? Java Basics - Anfänger-Themen 6
N Benötige eine Alternative für einen GOTO Befehl Java Basics - Anfänger-Themen 2
O CMD Befehl javac Java Basics - Anfänger-Themen 3
U Java Swing Timer mit ButtonKlick starten u. nach 12 Sekunden Befehl ausführen Java Basics - Anfänger-Themen 7
D Klassenmethode: Befehl erkennen, dann int zurückgeben Java Basics - Anfänger-Themen 2
C Desktopiconwechsel ohne Befehl Java Basics - Anfänger-Themen 0
V Schlüsselworte Befehl Ignorieren? Java Basics - Anfänger-Themen 10
B JDK installieren Befehl java funktioniert nicht Java Basics - Anfänger-Themen 15
J Variablen Auf der suche nach einem Befehl Java Basics - Anfänger-Themen 2
M Frage zum return; Befehl Java Basics - Anfänger-Themen 1
C CMD Befehl + Variable im Java-Code ausführen Java Basics - Anfänger-Themen 8
S Methoden auf befehl ausführen Java Basics - Anfänger-Themen 7
iB0T Eine Art Goto Befehl! Java Basics - Anfänger-Themen 27
H Exit Befehl in eigener Konsole Java Basics - Anfänger-Themen 9
D Erste Schritte bash-Befehl mit Swing ausführen Java Basics - Anfänger-Themen 8
A Schlüsselworte Befehl this Java Basics - Anfänger-Themen 8
E CMD Befehl über Java ausführen? Java Basics - Anfänger-Themen 4
E Warum wird Methode nicht durch return-Befehl beendet? Java Basics - Anfänger-Themen 3
D Hilfe zu Java Befehl In.open Java Basics - Anfänger-Themen 2
B Javadoc-Befehl unter Ubuntu Java Basics - Anfänger-Themen 2
I Befehl/Methode "los()" Java Basics - Anfänger-Themen 17
A Befehl gesucht....wie komme ich an Folgendes Objekt? Java Basics - Anfänger-Themen 6
I Return Befehl in Methode Java Basics - Anfänger-Themen 13
K Befehl per Shell an Java-Applet JAR übergeben Java Basics - Anfänger-Themen 16
S javac Befehl Java Basics - Anfänger-Themen 7
C Befehl zum Verlassen einer Schleife Java Basics - Anfänger-Themen 27
W Befehl ausführen bei Mausklick + gedrückte Strg-Taste Java Basics - Anfänger-Themen 2
B Befehl mit Priorität aufrufen Java Basics - Anfänger-Themen 4
I Befehl wird erst nach dem Ausführen einer Funktion ausgeführt Java Basics - Anfänger-Themen 4
K Problem mit h2 DB Insert Befehl Java Basics - Anfänger-Themen 6
B Befehl für vorselektierten Radiobutton Java Basics - Anfänger-Themen 2
H if-Befehl mit Buttongroup Java Basics - Anfänger-Themen 9
B assert befehl in netbeans Java Basics - Anfänger-Themen 3
M Objekto.Programm. Return-Befehl Java Basics - Anfänger-Themen 4
F Kann String in Befehl wandeln? Java Basics - Anfänger-Themen 12
F Simpler DrawLine - Befehl!? Java Basics - Anfänger-Themen 9
M Befehl zum Einlesen von Benutzereingaben Java Basics - Anfänger-Themen 1
M Befehl zum Fenster schließen? GUI Java Basics - Anfänger-Themen 3
L Do while Befehl verkürzen? Java Basics - Anfänger-Themen 16
-horn- Befehl an CMD übergeben Java Basics - Anfänger-Themen 15
A [Fehlermeldung]Sleep-Befehl Java Basics - Anfänger-Themen 4
B Befehl "javac" wird nicht erkannt Java Basics - Anfänger-Themen 14
S Befehl "javac" funktioniert und Windows 7 nicht? Java Basics - Anfänger-Themen 3
L Java Persistence API - Update Befehl? Java Basics - Anfänger-Themen 5
X Befehl import Java Basics - Anfänger-Themen 21
Antoras Explizite Typenumwandlung in einem Befehl Java Basics - Anfänger-Themen 3
A Button einen Befehl zuordnen Java Basics - Anfänger-Themen 7
N suche Datums befehl Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben