2009-11-16 7 views
0

J'ai une question très rapide à propos Win32_ServiceVérifiez si un service est en cours d'exécution avec Win32_Service

est

String sState = service["State"].ToString(); 
if (! sState.Equals("Running")) 

sufficent à moniter si un service ne fonctionne pas? Je veux que l'instruction if renvoie true dans tous les cas où le service n'est pas en cours d'exécution afin qu'il puisse envoyer un message d'avertissement.

Répondre

0

états de service Windows sont:

  • SERVICE_STOPPED. Le service ne fonctionne pas.
  • SERVICE_START_PENDING. Le service est en cours de démarrage (mais vous pouvez supposer qu'il ne fonctionne pas, espérons que le service commencera bientôt)
  • SERVICE_STOP_PENDING. Le service est en cours d'arrêt. (mais vous pouvez supposer qu'il est toujours en cours d'exécution, sauf que la seule chose que le service fait est de terminer de manière ordonnée, sans tenir compte de toute demande externe)
  • SERVICE_RUNNING. Le service est en cours d'exécution (et prêt à répondre à des demandes externes)
  • SERVICE_CONTINUE_PENDING. Similaire à START_PENDING. J'espère que le service va bientôt commencer.
  • SERVICE_PAUSE_PENDING. Le service va être suspendu dans un proche avenir.
  • SERVICE_PAUSED. Le service est en pause

Le seul Etat qui garantit que le service est en cours d'exécution est SERVICE_RUNNING, mais je n'affiche un avertissement si le service est en état START_PENDING. Au moins, montrer des avertissements différents en fonction de l'état.

HTH.

Questions connexes