2010-05-12 7 views
1

Tout d'abord, je ne suis pas du tout familier avec la programmation de fichiers par lots Windows. Récemment, je suis curieux de savoir comment Tomcat se définit comme un service Windows en utilisant un fichier batch. J'ai téléchargé le fichier service.bat de Tomcat 6. Cependant, je ne comprends toujours pas une partie de celui-ci.Comment Tomcat définit-il son fichier exécutable en tant que service Windows?

Je suppose que c'est la ligne que le lot enregistre réellement le fichier EXE sur le système d'exploitation, est-ce exact? Y a-t-il une explication de syntaxe?

"%EXECUTABLE%" //IS//%SERVICE_NAME% --StartClass org.apache.catalina.startup.Bootstrap --StopClass org.apache.catalina.startup.Bootstrap --StartParams start --StopParams stop 

Est-ce que c'est utilisé pour supprimer le service?

"%EXECUTABLE%" //DS//%SERVICE_NAME% 

Et c'est le réglage des paramètres?

"%EXECUTABLE%" //US//%SERVICE_NAME% --JvmOptions "-Dcatalina.base=%CATALINA_BASE%;-Dcatalina.home=%CATALINA_HOME%;-Djava.endorsed.dirs=%CATALINA_HOME%\endorsed" --StartMode jvm --StopMode jvm 

Répondre

2

IS - Installer le Service

DS - Supprimer service

États-Unis - Service de mise à jour

Si vous voulez créer vos propres services dans un fichier batch regarder dans sc.exe à la place. Exécutez-le par lui-même sur une ligne de commande pour obtenir de l'aide.

L'exécutable que vous installez en tant que service Windows doit être implémenté en tant que service Windows. Si ce n'est pas le cas, vous avez besoin d'un wrapper qui est un service Windows officiel et exécute l'exe cible. Quelques exemples commerciaux:

http://www.eltima.com/products/application-as-service/

http://www.firedaemon.com/

Je suis surpris que je ne trouve pas un open-source/option gratuite. Ce type de chose pourrait être fait en C# dans moins de 50 lignes de code.

+0

Merci, cela fonctionne en ajoutant le fichier .exe dans la liste des services Windows. Cependant, je ne peux pas l'exécuter. L'exception "Le service n'a pas répondu à la demande de démarrage ou de contrôle en temps opportun" apparaît. Connaissez-vous la solution? Je suis en train de googler pour ça aussi. –

+0

@Wing C. Chen, oh, l'exe doit être un service Windows. Il y a quelques options de tiers qui fournissent un service de Windows qui est juste un emballage pour d'autres exe. http://www.firedaemon.com/ ou http://www.eltima.com/products/application-as-service/ –

Questions connexes