Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo
Kann mir vielleicht jemand helfen.
Hab einen Java server programmiert, der als dienst unter Windows läuft.
Die Java klasse ist als dienst regestriet, und wir auch beim starten des BS gestartet.
Jetzt will ich aber über ein GUI den server neustarten können.
Meine Frage also: Wie kann ich über eine Java GUI einen Windows Dienst starten und stoppen?
Vielen dank flo
Habe das obige versucht mit dem net stop, aber bin mir nicht sicher ob ich den Dienst Namen richtig angegeben habe. Wie kann ich den genau rausfinden, weil der Dienst heißt anders als die exe. Danke
Habe das gemacht und mal mit dem Nachrichtendienst versucht da geht das auch wunderbar nur bei AntiVir Service leider nicht ;-( liegt das evt an dem leer Zeichen? Kann ich das irgendwie ändern?
Manuell kann ich ihn beenden nur nicht via net stop wobei das doch gehn muss. Danke für die Hilfe
Ich habe eine Frage zum Thema net start / stop. Es ist nämlich sehr kommisch was die Konsole zurückliefert wenn der Dienst gestoppt ist und man ihn dennoch zu stoppen versucht. Und zwar "null".
Ich habe hier eine Teil der Methode die einen Dienst stoppen oder starten soll.
Code:
if (str_OS.indexOf("WINDOWS") > -1) {
str_CommandLine = "cmd /c net " + method + " \"" + interfaceName +
"\"";
} else {
// so we have Unix
// this is not the correct command for linux
str_CommandLine = "cmd /c net " + method + " \"" + interfaceName +
"\"";
}
// run the command on the OS
command = Runtime.getRuntime().exec(str_CommandLine);
BufferedReader br = new BufferedReader(new InputStreamReader(
command.getInputStream()));
}
String str_LineBuffer;
while ((str_LineBuffer = br.readLine()) != null) {
returnValue = returnValue + str_LineBuffer + "\n";
}
} catch (IOException e) {
System.out.println(e.getMessage().toString());
}
return returnValue;
Ist das Kommando erfolgreich bekomme ich auch ein returnValue, da der BufferedReader etwas parat hat. Kommt es aber zu irgendeinem Fehler ist der BufferedReader leer (null). Der Fehler kommt eben zu stande wenn ich versuche einen gestoppten Dienst zu stoppen oder wenn es aus irgendeinem Grund nicht möglich ist den Dienst zu stoppen oder zu starten.
Hat mir jemand eine Idee wie ich doch an die Ausgabe der Kommandozeile komme wenn ein Fehler auftritt? Gruss und Danke
<<<Habes jetzt>>>>
Im Falle eines fehlers reicht es nicht den InputStream auszulesen dafür bietet sich die getErrorStream Methode.
Code:
BufferedReader br = new BufferedReader(new InputStreamReader(
command.getErrorStream()));