Hallo erst einmal,
ich habe folgendes Problem:
ich habe mit dem Processbuilder drei verschiedene Methoden geschrieben, zum
starten, stoppen und überprüfen von Diensten.
Habe das ganze anhand eines Beispiels vom Dienst "WSearch" durchgeführt, welchen ich starten und stoppen konnte, doch wenn den Status des Dienstes überprüfen möchte gibt er mir den Wert 2 zurück. Nun wollte ich wissen was dieser Wert zu bedeuten hat. Den wenn ich nach anderen Diensten suche gibt er mir den selben Wert zurück und nur bei vereinzelten Diensten kommt als Rückgabe 0 (sollte eigentlich heißen, dass der Dienst am laufen ist?) heraus.
desweiteren würde ich die Methoden gerne auch auf für Linux lauffähig machen nur Leider kenne ich dafür nicht die commands mit denen man den Processbuilder starten muss.
zum Code:
ich habe folgendes Problem:
ich habe mit dem Processbuilder drei verschiedene Methoden geschrieben, zum
starten, stoppen und überprüfen von Diensten.
Habe das ganze anhand eines Beispiels vom Dienst "WSearch" durchgeführt, welchen ich starten und stoppen konnte, doch wenn den Status des Dienstes überprüfen möchte gibt er mir den Wert 2 zurück. Nun wollte ich wissen was dieser Wert zu bedeuten hat. Den wenn ich nach anderen Diensten suche gibt er mir den selben Wert zurück und nur bei vereinzelten Diensten kommt als Rückgabe 0 (sollte eigentlich heißen, dass der Dienst am laufen ist?) heraus.
desweiteren würde ich die Methoden gerne auch auf für Linux lauffähig machen nur Leider kenne ich dafür nicht die commands mit denen man den Processbuilder starten muss.
zum Code:
Java:
private boolean startDienstWin(String dienst) throws IOException, InterruptedException {
String[] command = { "cmd", "/c", "net", "start", dienst};
ProcessBuilder processBuilder = new ProcessBuilder(command);
Process process = processBuilder.start();
int result = process.waitFor();
System.out.println("Der Dienst: " + dienst + " wurde "
+ (result == 0 ? "gestartet!" : "nicht gestartet!"));
return (result == 0) ? true : false;
}
private boolean stoppeDienstWin(String dienst) throws IOException, InterruptedException {
String[] command = { "cmd", "/c", "net", "stop", dienst};
ProcessBuilder processBuilder = new ProcessBuilder(command);
Process process = processBuilder.start();
int result = process.waitFor();
System.out.println("Der Dienst: " + dienst + " wurde "
+ (result == 0 ? "gestoppt!" : "nicht gestoppt!"));
return (result == 0) ? true : false;
}
private boolean checkDienstWin(String dienst) throws InterruptedException, IOException {
String[] command = { "cmd", "/c", "net", "start", "|", "find", dienst };
ProcessBuilder processBuilder = new ProcessBuilder(command);
Process process = processBuilder.start();
int result = process.waitFor();
System.out.println("Der Dienst: " + dienst + " ist "
+ (result == 0 ? "am laufen!" : "nicht am laufen!") + result);
return (result == 0) ? true : false;
}
Zuletzt bearbeitet: