È possibile eseguire comandi Linux come ls
o pwd
da Java senza problemi, ma non è possibile eseguire uno script Python.Come eseguire lo script Python da Java?
Questo è il mio codice:
Process p;
try{
System.out.println("SEND");
String cmd = "/bash/bin -c echo password| python script.py '" + packet.toString() + "'";
//System.out.println(cmd);
p = Runtime.getRuntime().exec(cmd);
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String s = br.readLine();
System.out.println(s);
System.out.println("Sent");
p.waitFor();
p.destroy();
} catch (Exception e) {}
Non è successo niente. Ha raggiunto SEND ma si è appena fermato dopo di esso ...
Sto provando a eseguire uno script che richiede le autorizzazioni di root perché utilizza la porta seriale. Inoltre, devo passare una stringa con alcuni parametri (pacchetto).
è il tuo script python che scrive qualcosa di diverso dal suo standard? – VishalDevgire
Che ne dici di usare Apache commons exec? – rkosegi