J'ai créé le service en utilisant
sc create myService binpath=myservice.bat
Mais quand je le démarre, il échoue avec le message d'erreur suivant:
[SC] StartService FAILED 1053:
The service did not respond to the start or control request in a timely fashion.
Sur Win2k3, j'ai utilisé le srvany.exe du kit de ressources, mais il n'y a pas de kit de ressources pour win2k8. Pour l'instant, j'ai installé le srvany.exe sur ma machine, mais je ne pense pas que ce soit la meilleure façon de le faire.
Merci!
Réponses:
Bien sûr, vous ne pouvez pas exécuter un service comme celui-ci. Avez-vous essayé d'utiliser srvany dans le serveur 2008? Pour autant que je sache, il n'y a pas de version «officielle» de srvany pour s2k8, mais vous pouvez toujours essayer, n'est-ce pas?
EDIT: Oh, j'ai oublié! Nous utilisons également FireDaemon pour exécuter des applications non-service en tant que services. Cependant, il n'est pas gratuit et sa fonctionnalité est un peu trop adaptée à vos besoins.
la source
Utilisez NSSM pour exécuter un .BAT ou tout ancien fichier .EXE en tant que service. C'est presque un remplacement pour SRVANY et c'est une application sans fioritures et sans chichis.
http://iain.cx/src/nssm/
J'ai eu le même problème que vous et NSSM était le seul utilitaire qui fonctionnait.
la source
Nous utilisons le Planificateur de tâches pour exécuter la tâche au démarrage de l'ordinateur (qu'un utilisateur soit connecté ou non)
la source
Vous ne pouvez pas simplement exécuter un fichier .BAT ou tout ancien fichier .EXE en tant que service. Les services Windows ne fonctionnent pas que vous. Vous pouvez utiliser un utilitaire comme le non-Sucking Service Manager (NSSM) ou l'utilitaire non libre SRVANY de Microsoft pour exécuter un programme arbitraire en tant que service, mais vous pouvez constater que vous n'obtenez pas un comportement d'arrêt très "gracieux".
la source
La commande SC ajoute simplement les entrées de registre requises pour un service - si le fichier que vous spécifiez n'est pas un exe de service valide, il ne le transformera pas en un.
la source
de: ce post sur les forums technet: http://social.technet.microsoft.com/Forums/en-US/winserverMigration/thread/98a97aee-c62b-4683-94ab-3777899cf7de/
Voici quoi faire ...
Au moment de cette publication, il n'y a pas d'outils du Kit de ressources Windows Server 2008, alors récupérez le "srvany.exe" dans les "Outils du Kit de ressources Windows Server 2003" et copiez-le dans un emplacement approprié sur votre serveur Win2008 (par exemple C: \ Windows \ System32 \). Utilisez "sc" pour créer un nouveau service qui lance "srvany" (par exemple sc créez MyService binPath = C: \ Windows \ System32 \ srvany.exe DisplayName = "My Custom Service") À l'aide de RegEdit: créez une clé "Paramètres" pour votre service (par exemple HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ MyService \ Paramaters \) Utilisation de RegEdit: dans la clé "Paramètres" nouvellement créée, créez une valeur de chaîne appelée "Application" et entrez le chemin d'accès complet à l'application que vous souhaitez exécuter en tant que un service. (Aucun devis requis.)
Et cela devrait le faire.
Remarque: certaines applications stockent leurs paramètres dans une ruche utilisateur, pas sous HKEY_LOCAL_MACHINE, vous devrez donc exécuter l'application pour la configurer, puis configurer le service pour qu'il s'exécute en tant qu'utilisateur.
la source
essayez ceci ... cela a fonctionné pour moi ..
la source
Je suis tombé sur cette chose. Voici l'outil appelé Bat_To_Exe_Converter. Il est très très facile de convertir n'importe quel fichier .bat en fichier .exe. Essayez-le. Téléchargez d'abord le téléchargeur et il téléchargera automatiquement le Bat_To_Exe_Converter. Cela m'a vraiment aidé à créer un service qui exécute mon fichier .bat via .exe. http://download.cnet.com/Bat-To-Exe-Converter/3001-2069_4-10555897.html?spi=eae5ab48292cc101b5f0ec370cf99ad0
la source
j'ai utilisé des schtasks Windows.
vous pouvez vous y référer. https://technet.microsoft.com/en-us/library/cc725744.aspx#BKMK_hours
la source
J'ai trouvé deux autres options qui ne vous permettront pas d'atteindre votre portefeuille.
Vous pouvez avoir un
sc
lancementsrvany
qui pointe ensuite vers votre programme. (Il y a un message sur le forum auquel je ne peux pas créer de lien car je n'ai pas assez de représentants ici même si je le fais sur StackOverflow - grognement)Voici les étapes utilisées par l'affiche originale:
sc
pour créer un nouveau service qui se lancesrvany
(par exemplesc create MyService binPath=C:\Windows\System32\srvany.exe DisplayName="My Custom Service"
)Parameters
clé pour votre service (par exempleHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService\Parameters\
)Parameters
clé nouvellement créée , créez une valeur de chaîne appeléeApplication
et entrez le chemin d'accès complet à l'application que vous souhaitez exécuter en tant que service. (Aucun devis requis.)Si cela semble être un peu un hack , vous pouvez créer un service .NET pour lancer votre processus. Si vous souhaitez ignorer quelques étapes, voici un service .NET open source qui peut lancer des processus génériques:
http://www.codeproject.com/KB/system/xyntservice.aspx
Ajustez-le à vos besoins, mais il fera la plupart de ce que vous voulez hors de la boîte.
la source