2011-06-06 2 views
1

J'ai créé un service Windows.Problèmes lors de l'appel du service Windows à l'aide du planificateur de tâches Windows

Je souhaite l'invoquer à plusieurs reprises toutes les 5 secondes tout au long de la journée.

J'avais planifié une tâche de Windows pour faire cela mais le service de Windows ne semble pas être invoqué lorsqu'il est invoqué de la tâche de fenêtres. J'utilise `NET START" Windows Service Name.exe "pour planifier une tâche sous le planificateur de tâches Windows.

Il fonctionne correctement lorsque j'essaie manuellement de démarrer le service.

Qu'est-ce qui pourrait ne pas fonctionner?

Répondre

2

Vous avez la solution .. !!

Ajout d'une nouvelle tâche Windows pour fermer le service à l'aide de la commande NET STOP.

Cela m'a aidé.

Espérons que cela aide les autres. :)

1

quel système d'exploitation utilisez-vous?

Je ne comprends pas tout à fait. Un service est quelque chose que vous démarrez automatiquement ou manuellement et une fois qu'il s'exécute, il s'exécute, jusqu'à ce que vous arrêtez le service. Une tâche est quelque chose que vous pouvez contrôler quand et comment elle va se déclencher et sous quelles informations d'identification elle va s'exécuter et quel fichier elle doit exécuter.

Je suis en train de lire Votre question ainsi: vous avez un fichier chauve-souris qui a le cmd 'net start ...' et le fichier bat que vous voulez lancer toutes les 5 secondes?

+0

Pour autant que je sache, lorsque nous démarrons un service, il exécute tout ce qui est écrit sur l'événement OnStart mais ne le répète pas. J'ai écrit la commande 'NET START' sous Windows Task Scheduler sous la section Run. J'utilise Windows Server 2003. Et je n'ai pas de fichier bat. –

2

Votre approche est incorrecte. Au lieu de démarrer le service toutes les 5 secondes, votre service ne devrait démarrer qu'une seule fois et faire quelque chose toutes les 5 secondes.

La fonction principale du service doit avoir une boucle qui démarre lorsque votre service est initialisé et se termine uniquement lorsque le service est arrêté (par exemple, lorsque l'ordinateur est arrêté). Cette boucle peut vérifier un message ou un événement d'arrêt.

A l'intérieur de la boucle, vous pouvez également effectuer l'opération souhaitée toutes les 5 secondes. Vous pouvez utiliser une minuterie ou un simple sommeil (5000). Vous pouvez également le faire sur un fil séparé afin qu'il ne retarde pas le minuteur.

Si vous démarrez le service toutes les 5 secondes, pourquoi utiliser un service?

Questions connexes