Senhores,
Preciso com certa urgência encontrar uma forma de testar se um determinado processo no Windows está ativo ou não, tem como fazer com java? Se tem como faz? Como faço essas chamadas de sistemas para testar coisas do Windows, como processos, serviços e etc…?
Grato,
Maurijava
lina
Março 17, 2011, 9:03am
#2
Oi,
Acho que a classe Runtime ajudaria neste seu problema.
Tchauzin!
No windows, uma das formas de listar processos ativos é o comando tasklist.
Você pode chama-lo com Java como no exemplo abaixo:
[code]import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class ListProcess {
public static void main(String[] args) throws IOException {
Runtime runtime = Runtime.getRuntime();
String cmds[] = {"cmd", "/c", "tasklist"};
Process proc = runtime.exec(cmds);
InputStream inputstream = proc.getInputStream();
InputStreamReader inputstreamreader = new InputStreamReader(inputstream);
BufferedReader bufferedreader = new BufferedReader(inputstreamreader);
String line;
while ((line = bufferedreader.readLine()) != null) {
System.out.println(line);
}
}
}[/code]
Para conhecer as opções do comando tasklist, digite tasklist /? no prompt de comandos.
Abraços.
Com o comando net no prompt de comando do windows vc pode obter o status de determinado serviço
net nome_do_servico status
pode tambem parar e iniciar o serviço pode usar o código que o lgi2020 postou acima para chamar pelo java.
Valeu galera, deu certo aki!
Alguém poderia explicar essa parte do código:
InputStream inputstream = proc.getInputStream();
InputStreamReader inputstreamreader = new InputStreamReader(inputstream);
BufferedReader bufferedreader = new BufferedReader(inputstreamreader);
please???
colocou a resposta do processamento em um stream e passou pra um reader pra permitir sua leitura…