Laden...

Mit Java überprüfen, ob ein Server / Dienst läuft

Erstellt von Fabian vor 18 Jahren Letzter Beitrag vor 18 Jahren 2.824 Views
Fabian Themenstarter:in
1.985 Beiträge seit 2004
vor 18 Jahren
Mit Java überprüfen, ob ein Server / Dienst läuft

Hallo Forum,

im Untertitel des Forums steht unter anderem "andere Sprachen". Ist damit auch Java gemeint 🙂? Wenn nicht, dann bitte nach Smalltalk verschieben.

Nun aber zu meiner eigentlichen Frage: Ich möchte gerne mittels einer Java Applikation überprüfen, ob ein Dienst auf dem Rechner, wo auch die Applikation läuft, gestartet ist und läuft.

Hat jemand eine Idee, wie ich das am besten machen kann? Ich dachte mir, ich führe ein Windows-Kommando aus und parse das Ergebnis. Kennt jemand ein Kommando, dass mir alle Dienste / Prozesse auflistet?

Oder hat jemand noch eine bessere Idee?

Gruß,
Fabian

"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)

Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…

Blog: www.fabiandeitelhoff.de

D
58 Beiträge seit 2005
vor 18 Jahren

Vielleicht hilft dir das hier weiter:

NET START listet aktive Dienste auf.

C:>net start
Folgende Windows-Dienste sind gestartet:

[...]

Der Befehl wurde erfolgreich ausgeführt.

MfG

H
704 Beiträge seit 2003
vor 18 Jahren

Du kannst doch die WinAPI Funktion EnumServicesStatusEx importieren. Mit dieser Funktion bekommst du viele Informationen zu den einzelnen Diensten denn net start gibt ja nur den Namen aus.

Aber da du Java verwendest solltest vielleicht darauf achten platformunabhängig zu bleiben (außer es wird von Anfang an eine properitäre Software) deshalb würde ich eher sagen du probierst auf den Dienst irgendwie plattformunabhängig zuzugreifen wenn es geht. (wenn zB der Dienst an einem Port horcht oder so)

[last.fm](http://www.last.fm/user/hauptmanAlpha/)
Fabian Themenstarter:in
1.985 Beiträge seit 2004
vor 18 Jahren

Hallo ihr beiden,

danke erstmal für Eure Antworten. Das mit dem Benutzen und Importieren der WinAPI Funktion EnumServicesStatusEx finde ich sehr interessant.

Plattformunabhängig muss es nicht sein. Hast Du ein Beispiel dafür, wie ich die WinAPI Funktion importieren kann? Hab leider damit in Java noch überhaupt keine Erfahrungen.

Danke und Gruß,
Fabian

"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)

Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…

Blog: www.fabiandeitelhoff.de

P
939 Beiträge seit 2003
vor 18 Jahren

Das ist in Java nicht so einfach wie in .Net.

Stichwort "JNI". Man muss sich mit dem javah-Tool eine Header-Datei (*.h) für eine class-Datei mit native-Methoden generieren lassen und dazu eine c-Datei schreiben, die die eigentlich gewünschte Funktion aufruft (EnumServicesStatusEx).

Java Native Interface - Tutorial

Gruss
Pulpapex

Fabian Themenstarter:in
1.985 Beiträge seit 2004
vor 18 Jahren

Morgen Pulpapex,

ui. Ist ja wirklich viel komplizierter als bei .NET. Aber ich werde mir das Tutorial mal ansehen.
Ich kann leider nicht mehr soviel c 😦. Muss mal gucken, ob ich dort den Aufruf der WinAPI Funktion hinbekomme.

Gruß,
Fabian

"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)

Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…

Blog: www.fabiandeitelhoff.de