Abaixo crio uma classe que listará os processos ativos e pegaremos um determinado processo para finaliza-lo.
public void mataProcesso(){
try{
//Executa comando que lista todos os processos ativos de java
Process p = Runtime.getRuntime().exec("jps");
//Ler lista de processos
InputStream is = p.getInputStream();
InputStreamReader readerInput = new InputStreamReader( is ) ;
BufferedReader reader = new BufferedReader( readerInput );
String linha = "";
//Enquanto linha não for nula, exibe linha
while ( ( linha = reader.readLine() ) != null ){
//Se existir o processo abaixo, divide a String em 2, PID e NomeProcesso.
//nomeDoProcesso é o nome do processo que mataremos.
if ( linha.contains("nomeDoProcesso")){
String[] getPID = linha.split(" ");
System.out.println("PID: "+ getPID[0]);
System.out.println("Process name: "+ getPID[1]);
//Mata Processo pelo pid
Runtime.getRuntime().exec("taskkill /f /pid "+getPID[0] );
}
}
}catch(Exception e){
e.printStackTrace();
}
Um exemplo de saída dos processos (Meus processos ativos que estavam rodando no momento da execução) :
652 Jps 2164 jMentor 2444 Bootstrap 3428
Nenhum comentário:
Postar um comentário