2016-07-04 10 views
0

Ich habe eine Shell-Datei, die durch Java-Programm ausgeführt werden muss. Aber das Problem ist, dass die Shell-Datei nicht ausgeführt wird, weil wir normalerweise Shell-Dateien über die Befehlszeile ausführen, nachdem wir den sudo-Befehl ausgeführt haben, der wiederum nach password fragt. Gibt es eine Möglichkeit, dass ich die Shell mit Runtime.exec ausführen kann ("ksh path-to-shell-file") unter Umgehung des Befehls sudo.Anmelden in Shell als Sudo-Benutzer und Ausführen von Shell über Java

Antwort

0

Sie können Befehle in den outStream des Prozesses schreiben von Runtime.exec();

Holen Sie sich den outStream, schreiben Sie einen Befehl darauf und schreiben Sie dann "\ r \ n" zur Ausführung.

Also grundsätzlich behandeln den Prozess als eine Konsole, und schreiben Sie Befehle wie normale Konsole. Natürlich können Sie auch die in und err Streams

bekommen