Salve a tutti,
ho scritto in java la seguente classe:
public class Elem{
public Elem(String [] str){
this.cmd = str;
}
private String [] cmd;
public String aid = null;
public String bat = null;
public Process proc;
public Elem next = null;
private Runtime rt = Runtime.getRuntime();
public void Lanch(){
try {
proc = rt.exec(cmd);
} catch (IOException ex) {
ex.printStackTrace();
}
}
public void Exit(){
proc.destroy();
}
}
Il comando cmd eseguito attraverso la funzione Lunch() è il seguente:
cmd[0] = "cmd.exe";
cmd[1] = "/C";
cmd[2] = "start";
cmd[3] = "C:/jade/RunProgramm/File.bat";
Fin qui và alla grande,si avvia cmd.exe che esegue il mio file.bat
il problema è che quando chiamo la funzione Exit(),il processo non viene distrutto,infatti nel task di win,nei processi resta presente.
Ho provato anche con waitFor(), exitValue(),ma non c'è nulla da fare,il processo rimane attivo.![]()
Qualcuno di voi saprebbe darmi qualche diritta?
Ringrazio anticipatamente tutti coloro che interverrano a questa discussione.

Rispondi quotando

.
