Input/Output Writer schreibt nicht in Subprozess

Deness

Neues Mitglied
Hallo zusammen,

ich möchte aus meinem Java-Programm eine Shell starten und mit dieser kommunizieren:

Java:
ProcessBuilder pb = new ProcessBuilder("xterm").redirectErrorStream(true);

		try {
			Process shell = pb.start();

			BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(shell.getInputStream()));
			PrintWriter writer = new PrintWriter(shell.getOutputStream(), true);

			String input = "su - meinUser\n";
			writer.println(input);
			log.addInfo("error occurred: " + writer.checkError());

			input = "meinPasswort\n";
			writer.println(input);
			log.addInfo("error occurred: " + writer.checkError());

			// exit meinUser
			input = "exit\n";
			writer.println(input);
			log.addInfo("error occurred: " + writer.checkError());

			// exit xterm
			input = "exit\n";
			writer.println(input);
			log.addInfo("error occurred: " + writer.checkError());

			writer.close();
			shell.destroy();
		} catch (IOException e) {
			log.addInfo("Error occurred while executing Linux command. Error Description: " + e.getMessage());
		}

Der PrintWriter schreibt leider nicht nach stdin meines Prozesses. Ich habe auch write() und flush() probiert. Alles ohne Erfolg. Hat jemand eine Idee, was ich falsch mache oder ist es gar nicht möglich, über Java interaktiv (schreiben und Ergebniss des Subprozesses lesen) mit einem gestarteten Subprozess zu kommunizieren (wie man das bspw. aus Python kennt).

Vielen Danke für eure Antworten!
Deness
 
T

trääät

Gast
1) woran machst du es fest das es nicht funktioniert ?
2) du musst von deinem reader auch schon lesen ... wenn der voll ist wartet der sub-process in der regel darauf bis dieser geleert wird
3) da du zwischen dem su-login und dessen exit keine weiteren befehle aufrufst läuft es warscheinlich einfach so schnell ab das man es nicht mitbekommt
4) gibt es irgendwelche fehlermeldung ? wenn ja , welche und wo ...

ansich ist die "interaktion" mit dem sub-process möglich ... aber etwas komplizierter als du hier geschrieben hast ... und für hilfe brauchen wir ein paar mehr infos als nur "naja geht halt nich"
 

Deness

Neues Mitglied
Hallo,

danke für die Antwort zwischen su und exit mache ich noch weitere Befehle bspw. das Starten einer Datenbank von der Kommandozeile. Die Datenbank wird jedoch nicht gestartet. Daher denke ich, dass mein Code nicht funktioniert. Ich habe auch mit readLine() gelesen, aber dann passiert einfach gar nichts, der Writer scheint nicht zu schreiben, wenn ich im readLine()-Loop bin. Immerhin ich kann in dem gestarteten xterm manuell etwas eintippen, das funktioniert auch.

Deness
 
S

SlaterB

Gast
grundsätzlich als Alternative erwähnt: scheibe alles in eine .sh-Datei und führe diese aus,
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
S Input/Output Reader/Writer finden file nicht Java Basics - Anfänger-Themen 3
M Writer für unterschiedliche Obj/inbt/double erstellen? Java Basics - Anfänger-Themen 1
D Komplizierte Frage zum Writer Java Basics - Anfänger-Themen 4
Textsurfer Erste Schritte CSV Import Reader Writer Java Basics - Anfänger-Themen 0
N Input/Output Java IO Writer - Subklassen Java Basics - Anfänger-Themen 19
J Java Writer funktioniert nicht mehr Java Basics - Anfänger-Themen 8
Sogomn Input/Output Reader, Writer und Streams Java Basics - Anfänger-Themen 6
N Word oder Open Office Writer Java Basics - Anfänger-Themen 10
Burny91 FileReader und Writer gleichzeitg nutzen Java Basics - Anfänger-Themen 2
M Unterschied append / write aus der Klasse Writer Java Basics - Anfänger-Themen 2
K BufferedReader/Writer trotz Cache? Java Basics - Anfänger-Themen 9
L Streams und Reader/Writer Java Basics - Anfänger-Themen 8
I Writer an Objekt syncen - aber wie? Java Basics - Anfänger-Themen 2
T Writer/Reader Problem Java Basics - Anfänger-Themen 4
9 Writer funktioniert nicht Java Basics - Anfänger-Themen 9
G mit Buffered Writer innerhalb einer Datei Zeilen etc. einfüg Java Basics - Anfänger-Themen 4
M Von einem Menü Methode aus anderer Klasse ausführen, die errechnete Werte in Datei schreibt. Java Basics - Anfänger-Themen 8
G Weiß jemand wie man dieses Programm schreibt? Java Basics - Anfänger-Themen 84
N wie schreibt man die neue for schleife? Java Basics - Anfänger-Themen 3
X Wann schreibt man diese Syntax zeichen { } Java Basics - Anfänger-Themen 8
C PrintWriter schreibt keine in Strings enthaltenen Zeilenumbrüche Java Basics - Anfänger-Themen 9
D FileWriter schreibt nicht in Datei Java Basics - Anfänger-Themen 14
B Erste Schritte Java IDE schreibt "(String[] args)" Java Basics - Anfänger-Themen 5
M BufferedWriter schreibt nur "?" oO Java Basics - Anfänger-Themen 6
K BufferedWriter schreibt die letzten paar Zeilen nicht Java Basics - Anfänger-Themen 5
S BufferedReader liest was anderes als BufferedWriter schreibt Java Basics - Anfänger-Themen 5
K println schreibt nichts auf das Display Java Basics - Anfänger-Themen 3
S Filewriter schreibt einfach nicht Java Basics - Anfänger-Themen 6
M RandomAccessFile schreibt Sonderzeichen vor String Java Basics - Anfänger-Themen 2
J RandomAccessFile schreibt falsch Java Basics - Anfänger-Themen 2
B Wie schreibt ihr eure Programme? Klassenweise oder linear? Java Basics - Anfänger-Themen 10
W Java-PRogramm liest als EXE-File Nicht USB, jedoch aus NetBeans Java Basics - Anfänger-Themen 23
I Webservice funktioniert nicht Java Basics - Anfänger-Themen 5
C Abbruch einer Schleife mit break, meine Übung funktioniert nicht richtig Java Basics - Anfänger-Themen 4
SarahXyy Ergebnisse stimmen nicht überein? Java Basics - Anfänger-Themen 11
thomas55 Erste Schritte Modul läuft in IntelliJ, nicht in NetBeans Java Basics - Anfänger-Themen 11
richis-fragen Nicht ausführbares JAR, externe jars mit einbinden Java Basics - Anfänger-Themen 7
S Erstes Programm: Hallo Welt funktioniert nicht. Java Basics - Anfänger-Themen 3
O Obfuscateter Code lässt sich nicht ausführen? Java Basics - Anfänger-Themen 7
A "Hello World"-Programm läuft nicht Java Basics - Anfänger-Themen 16
D Regex greift nicht richtig Java Basics - Anfänger-Themen 4
richis-fragen JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
richis-fragen JTable Header ausgeblendete (width = 0) nicht per mouseDragged aufziehen. Java Basics - Anfänger-Themen 9
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
richis-fragen JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
S Wie debugge ich dies am besten: SingleThreadExecutor führt Task nicht aus..? Java Basics - Anfänger-Themen 29
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
K Verstehe Rekursion nicht ganz Java Basics - Anfänger-Themen 7
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
K TicTacToe belegtes feld nicht neu besetzbar Java Basics - Anfänger-Themen 1
K TicTacToe belegtes Feld nicht neu besetzbar Java Basics - Anfänger-Themen 3
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
K Programm compilierbar aber nicht ausführbar... Java Basics - Anfänger-Themen 21
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
N BMI Rechner Was haltet ihr von dem Code habt ihr Verbesserungsvorschläge weil design teschnisch ist das nicht das geilste würde das gerne überarbeiten Java Basics - Anfänger-Themen 12
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
D MacOS: PDF erstellen geht nicht Java Basics - Anfänger-Themen 1
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
J jar Befehl wird nicht erkannt Java Basics - Anfänger-Themen 7
missy72 Erste Schritte (nicht) Deterministischer endlicher Automat Java Basics - Anfänger-Themen 9
T Getter/Setter - wie sieht ein Setter aus? Und wie nicht? Java Basics - Anfänger-Themen 34
T catch(InputMismatchException) wird nicht ausgefürt/erkannt Java Basics - Anfänger-Themen 12
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
P Netbeans installation geht nicht Java Basics - Anfänger-Themen 26
R RegEx funktioniert nicht Java Basics - Anfänger-Themen 14
T HashMap Lsite gibt die sachen nicht aus wie gewollt. Java Basics - Anfänger-Themen 3
H Counter durch gepresste Taste nur auf 1 erhöhen und nicht durchzählen lassen Java Basics - Anfänger-Themen 7
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
T scanner nicht erkannt Java Basics - Anfänger-Themen 3
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
monsterherz Fehler Semikolon fehlt - ich weiss aber nicht wo da noch eines hin sollte... Java Basics - Anfänger-Themen 21
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
monsterherz einfache Methode mit Fehler den ich nicht finde Java Basics - Anfänger-Themen 21
monsterherz if / else if mit Fehler den ich leider nicht finde Java Basics - Anfänger-Themen 11
D Jar Datei startet unter Linux nicht Java Basics - Anfänger-Themen 3
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
M Konstruktor-Aufruf im Konstruktor, aber nicht am Anfang? Java Basics - Anfänger-Themen 4
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4
Darkherobrine9 Import klappt nicht Java Basics - Anfänger-Themen 7
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
R Compiler-Fehler Variable wird nicht gefunden bzw. erkannt? Java Basics - Anfänger-Themen 2
_so_far_away_ Inventarisierungssystem brauche switch Cases und weiß nicht, wie ich e implementieren muss Java Basics - Anfänger-Themen 5
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
I Erste Schritte Einfache Datenbank-Webseite erstellen als Nicht-IT-lerin Java Basics - Anfänger-Themen 24
N Interpreter-Fehler Compiler zeigt keine Fehler an, aber das Programm läuft nicht (BlueJ) Java Basics - Anfänger-Themen 2
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben