JPS processo de outros usuarios

0 respostas
C

Utilizando o seguinte codigo eu consigo finalizar um processo de jar especifico:

Process p = Runtime.getRuntime().exec("C:\\Program Files\\Java\\"+versaoJDK+"\\bin\\jps.exe");       
        BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));

               
        while ((line = input.readLine()) != null) {

            //JOptionPane.showMessageDialog(null, "Entrou no While!!" + line);
            System.out.println("Nome1: "+line);

            if (line.contains(processo)) {
                
                String[] getPID = line.split(" ");

                //Mata Processo pelo pid
                Runtime.getRuntime().exec("taskkill /f /pid " + getPID[0]);
                
            } 
        }
Porem minha aplicaçao JAR esta executando como usuario Administrador, e os processos dele nao aparece.

Se ao invés de :  Process p = Runtime.getRuntime().exec(C:\Program Files\Java\”+versaoJDK+"\bin\jps.exe");

eu utilizar: Process p = Runtime.getRuntime().exec(C:\Windows\System32\runas.exe /user:Cleidson-PC\Administrador /savecred C:\Program Files\Java\”+versaoJDK+”\bin\jps.exe"");

Ele pisca a janela do prompt e mostra os processos que eu quero, porem o resto do codigo nao funciona pois os nomes dos processo nao sao salvos no Buffered.
Existe alguma forma de eu pegar o PID do processo de outros usuarios que nao seja o logado?
Vlw

Criado 23 de outubro de 2012
Respostas 0
Participantes 1