Question

Je recherche une bibliothèque qui me permette de rechercher le statut d'un service Windows pour vérifier que le service est démarré et en cours d'exécution. J'ai jeté un coup d'œil à la bibliothèque Sigar, mais il s'agit de la GPL et je ne peux donc pas l'utiliser. Une licence commerciale ou BSD (ish) est requise car elle sera intégrée à un logiciel commercial.

Était-ce utile?

La solution

Si rien d’autre ne vous aide, essayez de penser à une approche légèrement différente (si vous le pouvez, bien sûr), par exemple:

  • Un grand nombre de logiciels gratuits / non libres effectuent la surveillance, y compris la surveillance des services Windows (par exemple, Nagios, Zabbix, etc.). Ces moniteurs ont généralement une API ouverte à laquelle votre application Java pourrait s’intégrer de différentes façons.
  • Si vous avez le contrôle sur l'application de service dépendante, exposez une autre méthode de vérification de votre application Java (par exemple, exécutez un programme d'écoute factice sur un port, créez un fichier, etc.). Les services Windows ne sont pas multi-plateformes et ne devraient donc pas être supportés de si tôt.

Autres conseils

Je ne pense pas qu'il existe un moyen purement Java de le faire, car certains systèmes d'exploitation n'ont pas la notion de "services". comme Windows le fait. Dans nos projets, nous avons écrit un wrapper autour des appels à la " sc " commande en ligne de commande. Pour obtenir le statut d'un service, vous pouvez faire:

  

sc \\ une requête sur un ordinateur "nom de mon service"

Vous devrez analyser manuellement la sortie, mais c'est assez simple.

Je ne connais aucune bibliothèque, mais en fonction du degré de précision que vous devez obtenir, vous pouvez vous débrouiller avec des commandes shell et analyser le résultat.

NET START nom du service

va soit démarrer le service, soit vous redonner un message d'erreur vous indiquant qu'il est déjà démarré. Je ne connais aucune commande qui vous indique simplement le statut.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top