2009-02-11 44 views
27

Hice un servicio de ventanas y dejar que funcione automáticamente y bajo la cuenta LocalSystem, cuando se inicia el servicio se dispara este mensaje para mí y luego se detieneservicio de Windows se detiene automáticamente

El [nombre del servicio] servicio en el equipo local comenzó y luego se detuvo. Algunos servicios se detienen automáticamente si otros servicios o programas no los utilizan.

¿Cuál es el problema y cuál es la solución?

+1

este error se produciría con un servicio Java cuando la política de Java no permite los permisos adecuados, como "policy.all". – djangofan

+0

@djangofan su consejo parece útil, por favor publíquelo como respuesta. – bluish

+0

Haga que su servicio de Windows sea 'debuggable' http://stackoverflow.com/a/15075454/413032 –

Respuesta

36

O bien no está iniciando ningún subproceso en el método OnStart para hacer el trabajo, o hay una excepción planteada dentro de su método OnStart.

Si se lanza una excepción, aparecerá en el registro de eventos de Windows. El registro de eventos de Windows es un buen lugar para comenzar en cualquier caso.

general un método OnStart se parece a esto: significa

Thread _thread; 

protected override void OnStart(string[] args) 
{ 
    // Comment in to debug 
    // Debugger.Break() 

    // Do initial setup and initialization 
    Setup(); 

    // Kick off a thread to do work 
    _thread = new Thread(new MyClass().MyMethod) 
    _thread.Start(); 

    // Exit this method to indicate the service has started 
} 
+1

+1 ayudó mucho. Quiero señalar (al menos para Windows 7), el [Visor de eventos] (http://windows.microsoft.com/en-us/windows/open-event-viewer#1TC=windows-7) contiene los registros de Windows (luego verifique bajo Aplicación). –

+0

gracias por la ayuda, algunos errores mis servicios. Encuentro el registro de eventos de Windows – asraful009

5

Este mensaje de error en particular lo que dice - que el servicio se ha iniciado pero luego bastante pronto salido por alguna razón. La buena noticia es que su servicio realmente está haciendo algo, por lo que tiene el ejecutable configurado y ejecutándose correctamente como un servicio.

Una vez que se inicia, por alguna razón se está abandonando. Debes averiguar por qué es esto. Agregue un poco de depuración para avisarle que está en funcionamiento y casos de salida conocidos. Si eso no revela el problema, agregue un poco de depuración para hacerle saber que todavía se está ejecutando y trabaje hacia atrás desde cuando se detiene.

3

¿Está rastreando la información de depuración? Lo más probable es que se genere una excepción durante su inicialización. Trazaría todas sus excepciones y usar Debugview para verlas.

3

Tuve un problema similar que ocurrió porque mis registros de eventos estaban llenos y el servicio no pudo escribirles. Como tal, fue imposible depurar buscando mensajes en el Visor de eventos. Puse try/catch y arrojé la excepción a un archivo. Tuve que cambiar la configuración en mis registros para llenar según sea necesario en lugar de cada 7 días y esto permitió que los servicios se inicien.

Por supuesto, la raíz del problema para mí es que tengo un problema con el controlador nVidia que está inundando mis registros de eventos y ahora probablemente estoy superando en el disco, pero ese es otro problema.

-4

Para mí, el mismo problema se produjo debido a una configuración incorrecta en mi archivo app.config. Cambié la configuración y el problema se resolvió

+7

Para ayudar a otros usuarios, agregue la información de la configuración de ** qué ** ha cambiado. – AxelEckenberger

+1

Ullas comunes me dicen sobre qué configuración cambiaste, será muy útil para mucha gente – nag

+0

Esta es una respuesta inútil sin saber qué configuración de configuración de aplicación cambiaste. –

1

Tuve el mismo problema al iniciar JBoss, luego cambié la variable JAVA_HOME, funcionó para mí. Fue la versión de JBoss que no es compatible con el 1.6, es compatible con 1.5.

0

Quizás necesite ejecutar el servicio como Cuenta de sistema local. Ver this post by Srinivas Ganaparthi.

+0

idk por qué te dan downvoted. ¡Hoy este comentario me ayudó! Gracias Mohinder –

0

Tuve un problema similar y resultó en mi caso que el programa simplemente se colgó en el método OnStart. Intentó leer algún archivo que no pudo encontrar, pero supongo que cualquier otro bloqueo del programa daría el mismo resultado.En el caso de la aplicación de formularios de Windows, recibiría un mensaje de error, pero aquí simplemente era "su servicio iniciado y detenido"

Si alguna vez necesita, como yo, que lea algunos archivos del directorio donde se encuentra Windows Service .exe, consulte este tema: Getting full path for Windows Service

Cuestiones relacionadas