2009-01-06 38 views
108

Para ejecutar una aplicación, se debe iniciar un archivo de proceso por lotes (que hace cosas como iniciar Jetty, mostrar registros activos, etc.). La aplicación funcionará solo si este archivo por lotes se está ejecutando. Por lo tanto, me veo obligado a tener este archivo por lotes en ejecución y no cerrar la sesión desde el servidor de Windows.Ejecute el archivo por lotes como un servicio de Windows

¿Se puede ejecutar este archivo por lotes como un servicio? Estoy experimentando con una de las sugerencias de similar question.

+21

programación por lotes es en tema de Stack Exchange. –

+10

Buena pregunta. +1. Los moderadores están demasiado enojados ... También tengo otra * buena * respuesta, pero la pregunta está cerrada (( – gavenkoa

+0

) Uso este RunAsService en su lugar: http://runasservice.com/. Es mucho, mucho más simple de usar. No hay configuración de XML sin sentido. Básicamente esto solo te da el RunAsService.ejecutable exe, que envuelve cualquier aplicación de consola con argumentos de línea de comandos como un servicio. ¡Utilizo esto para ejecutar scripts de Cygwin bash como servicios! Desafortunadamente, esta herramienta simple parece ser de código cerrado. – Kaz

Respuesta

3

Como Doug Currie dice usar RunAsService.

Desde mi experiencia anterior se debe recordar que el servicio que genere se

  • tener un conjunto completamente diferente de las variables de entorno
  • tienen que ser inspeccionados cuidadosamente por derechos/permisos emite
  • podría causar estragos si se abren diálogos pidiendo cualquier tipo de entrada

no estoy seguro de si el último todavía se aplica ... era una gran yegua de noche en un proyecto que trabajo ked hace algún tiempo.

1

Si bien no es gratuito (pero $ 39), FireDaemon me ha funcionado tan bien que tengo que recomendarlo. Ejecutará su archivo de proceso por lotes pero tiene muchas funciones adicionales y muy útiles, como la programación, la supervisión del mantenimiento del servicio, la instalación de servicios basados ​​en GUI o XML, dependencias, variables del entorno y gestión de registros.

empecé a cabo utilizando FireDaemon para poner en marcha los servidores de aplicaciones JBoss (run.bat) pero poco después se dio cuenta de que la riqueza de las capacidades de configuración FireDaemon me permitió abandonar el archivo por lotes y recrear la intención de sus comandos en el FireDaemon definición del servicio.

También hay un SUPER FireDaemon llamado Trinity que podría interesarle si tiene una gran cantidad de servidores Windows en los que administrar este servicio (o, técnicamente, cualquier servicio).

50

¿Por qué no simplemente configurarlo como una tarea programada que está programada para ejecutarse al inicio?

+1

Tengo una serie de archivos por lotes haciendo copias de seguridad a través de robocopy que comienzo a través de las tareas programadas (vaya al Panel de control, tareas programadas) que se ejecutan en un servidor Win 2003. Funciona bien ... – SAL

+0

Simplemente lo hicimos con un script que usamos para monitorear nuestro servicio de respaldo. Funciona a las mil maravillas. – music2myear

+0

esta es la mejor solución imo. no se requiere software de terceros ni interfaz de línea de comando. Además, el Programador de tareas proporciona muchas opciones para desencadenantes, condiciones, etc. – dev

1

AlwaysUp ejecutará fácilmente su archivo por lotes como un servicio. Es similar a FireDaemon (mencionado anteriormente) y no es gratuito, pero puede encontrar que las funciones enriquecidas se consideran un activo en un entorno profesional.

¡Buena suerte!

100

NSSM es totalmente libre y la hiper-fácil, corriendo símbolo del sistema/terminal de como administrador:

nssm install "YourCoolServiceNameLabel" 

continuación, aparecerá un cuadro de diálogo para que pueda elegir dónde está el archivo que desea ejecutar.

desinstalar

nssm remove "YourCoolServiceNameLabel" 
+14

+1 Nunca he escuchado hablar de este, pero es muy bueno. ¡NSSM no apesta! –

+3

¡Oh Dios mío! esta herramienta es excelente! Me salvaste. Gracias. –

+0

me llevó 2 minutos instalar un servicio –

Cuestiones relacionadas