Problema para parar serviços do Windows com Java

0 respostas
S

Bom dia,
Tenho uma aplicação que desenvolvi para atualizar o sistema aqui na empresa que trabalho e um dos métodos utilizo para parar uns serviços do windows para poder copiar os arquivos e depois inicio novamente os serviços. Porém no windows 10 quando chamo esse método ocorre o seguinte problema:

[SC] OpenService FALHA 5:

Acesso negado.

A questão é, quando estava no windows sete o mesmo metodo abaixo funcionava, só foi atualizar para windows 10 não funcionou mais. Alguém pode me ajudar??

public void pararServicos() throws InterruptedException {

String stopCommandScript0[] = { cmd.exe, /c, sc, Stop, SocketServer };

String stopCommandScript1[] = { cmd.exe, /c, sc, Stop, fmpServicoRobo };

String stopCommandScript2[] = { cmd.exe, /c, sc, Stop, fmpServicoRobo01 };

String stopCommandScript3[] = { cmd.exe, /c, sc, Stop, fsigServico };

String stopCommandScript4[] = { cmd.exe, /c, sc, Stop, sigWSServicoServidor };
Process process;
	try {
		process = new ProcessBuilder(stopCommandScript0).start();
		process = new ProcessBuilder(stopCommandScript1).start();
		Thread.currentThread().sleep(15000);
		process = new ProcessBuilder(stopCommandScript2).start();
		Thread.currentThread().sleep(15000);
		process = new ProcessBuilder(stopCommandScript3).start();
		process = new ProcessBuilder(stopCommandScript4).start();
		InputStream is = process.getInputStream();
		InputStreamReader isr = new InputStreamReader(is);
		BufferedReader br = new BufferedReader(isr);
		String line;

		// System.out.printf("Output of running cmd /c dir is:");

		while ((line = br.readLine()) != null) {
			if (line.matches("controlservice failed")) {
				System.out.println(".......");
			}
			System.out.println(line);
		}

		br.close();
		isr.close();
		is.close();
		process.destroy();

	} catch (IOException e) {
		e.printStackTrace();
	}
}
Criado 18 de março de 2016
Respostas 0
Participantes 1