Aufrufen der shell aus java, Beschwerden "stty: standard input: Invalid argument"
Ich aufrufen eines shell-Befehls, von Prozeß-Klasse von java, und es gibt
"stty: standard input: Invalid argument"
egal, ob der Befehl richtig ist oder falsch (normale Ausgabe von shell-Befehl auch gezeigt wird). Wenn ich den shell-Befehl in shell, keine solche Fehlermeldung angezeigt wird.
Der Befehl ist so etwas wie dieses: {"/bin/csh", "-c", "echo hello"}
In einem solchen Fall, ein Beispiel-code wäre eine große Hilfe.
Ich habe nichts, aber sehr einfache Dinge zu berufen, "echo Hallo" aus java. Dieser code acutually läuft ok, vor einigen Wochen, so denke ich, dass etwas falsch mit meinem bash vor kurzem, nicht java
ich glaube, es gibt Möglichkeiten in Java zum ausführen von Betriebssystem-Funktionen, und es gibt keine Notwendigkeit, rufen Sie system-Befehle. welchen Befehl rufst du, dass Java nicht über ein Modul für?
Nun gut, ich will erstellen Sie ein shell-eingebettet in java. Der Benutzer kann die Eingabe beliebiger shell-Befehl und java wird ausgeführt und die Rückgabe von stdout/stderr zu java-gui.
Ich habe nichts, aber sehr einfache Dinge zu berufen, "echo Hallo" aus java. Dieser code acutually läuft ok, vor einigen Wochen, so denke ich, dass etwas falsch mit meinem bash vor kurzem, nicht java
ich glaube, es gibt Möglichkeiten in Java zum ausführen von Betriebssystem-Funktionen, und es gibt keine Notwendigkeit, rufen Sie system-Befehle. welchen Befehl rufst du, dass Java nicht über ein Modul für?
Nun gut, ich will erstellen Sie ein shell-eingebettet in java. Der Benutzer kann die Eingabe beliebiger shell-Befehl und java wird ausgeführt und die Rückgabe von stdout/stderr zu java-gui.
InformationsquelleAutor solotim | 2010-03-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, mit den
-f
option von csh zu deaktivieren, das Lesen der .chsrc und .login-Dateien:warum nicht? jedenfalls, wenn es funktioniert, ist es ein Indiz dafür, dass die .cshrc oder .login-Skript versucht, passen Sie die terminal-ohne zu prüfen, ob es einer ist. Der nächste Schritt sollte sein, fügen Sie dieses Kontrollkästchen, um die Skripte...
InformationsquelleAutor Carlos Heuberger
Werden Sie den Aufruf der
stty
- Befehl aus der.profile
oder.bash_profile
. Haben Sie die Umleitung der Standardfehlerausgabe zu/dev/null
.stty kann nicht befassen sich mit der pseudo-tty, die Java bietet in Beschuss aus.
Es spielt keine Rolle, wofür Sie steht. Aufruf stty-in einem Kontext, wo es nicht ein tty, wie ein exec würd Prozess, der liegt falsch. Sie können es nicht tun.
InformationsquelleAutor Jonathan Feinberg
Sprach der Dokumentation für java.lang.Prozess:
Vielleicht möchten Sie die java.lang.ProcessBuilder, statt.
InformationsquelleAutor msw
Haben, guckst du hier.
Ich schaffte es, einige Befehle wie diese
InformationsquelleAutor Shervin Asgari