Pessoal, preciso executar um software Sell internamente no meu software java, por isso preciso manter uma instancia deste software shell funcionando durante a execução do meu software java…estou no linux
este é o codigo teste, consigo ler a mensagem inicial do software, mas não consigo enviar mensagens e receber suas respostas…
public String executa(String comando) {
Process p = null;
try {
//inicia o softweare maxima no linux
p = new ProcessBuilder("maxima").start();
} catch (Exception e1) {
}
//manda comando para o software
try {
OutputStream os = p.getOutputStream();
os.write(comando.getBytes());
os.flush();
} catch (IOException e1) {
}
//Lê o que foi retornado
InputStream is = new BufferedInputStream(p.getInputStream());
String resp = "";
try {
for (int value = is.read(); value != -1; value = is.read()) {
System.out.print(Character.toString((char) value));
resp += (Character.toString((char) value));
}
p.waitFor();
} catch (IOException e) {
} catch (Exception e) {
}
return resp;
}
public static void main(String args[]) {
ProcessWatch pw = new ProcessWatch();
System.out.println(pw.executa("float(2+2);"));
}