Ich bin ein Shell-Skript-Befehl in Java-Programm läuft Process verwenden, hier ist mein Code:Unable Ausgabe von Shell-Skript-Befehl erhalten in java
String lastLine = "";
ProcessBuilder processBuilder = new ProcessBuilder("/bin/bash", "-c", "echo $(ps -eo pid,args | grep -v grep | grep -v \"$$"\ | grep feature_service.sh | awk '{print $1}')");
BufferedReader reader =
new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
lastLine = line;
}
Ausgabe dieses: leere Zeichenfolge ("")
Aber wenn ich den gleichen Befehl am Terminal ausführen, funktioniert es gut (PID des Prozesses).
Bitte helfen Sie mir.
Kompiliert dies? Sie haben zwei unausgezeichnete Anführungszeichen in einem String, in '" $$ "' (anstelle von '\" $$ \ "'). –
ich benutze diese \ "$$ \" nur in meinem Programm. Ich werde mich auch hier ändern. – vinni