Comment exécuter un programme en tant que service d'arrière-plan dans Windows
Si vous êtes comme la plupart des utilisateurs de Windows, vous avez beaucoup d'excellents petits utilitaires qui s'exécutent au démarrage de Windows. Bien que cela fonctionne très bien pour la plupart des applications, il y en a qui il serait bon de commencer même avant qu'un utilisateur ne se connecte au PC. Pour ce faire, vous devez exécuter l'application en tant que service Windows..
Les services Windows constituent une classe spéciale de programmes configurés pour se lancer et s'exécuter en arrière-plan, généralement sans aucune interface utilisateur et sans nécessiter la connexion d'un utilisateur au PC. De nombreux joueurs et utilisateurs expérimentés les connaissent comme les éléments que vous utilisiez pour désactiver votre système pour accélérer votre système, bien que ce ne soit plus vraiment nécessaire..
Le principal avantage de l'exécution d'une application en tant que service est que vous pouvez faire démarrer un programme avant qu'un utilisateur ne se connecte. Cela peut être particulièrement important avec les applications qui fournissent des services importants que vous souhaitez être disponibles lorsque vous êtes loin de votre ordinateur..
Plex, une application de serveur multimédia capable de diffuser du contenu local sur presque tout appareil que vous possédez, en est un parfait exemple. Bien sûr, vous pouvez le laisser dans la barre d'état système comme un programme normal, mais que se passe-t-il si l'ordinateur redémarre en raison d'une panne de courant ou de mises à jour planifiées? Tant que vous ne vous reconnecterez pas sur le PC, Plex ne serait pas disponible. C'est irritant si vous devez vous rendre dans une autre pièce pour redémarrer Plex alors que votre pop-corn a froid, et super irritant si vous êtes en déplacement et que vous essayez de diffuser vos médias par Internet. Configurer Plex en tant que service résoudrait ce problème.
Avant de commencer, vous devez savoir que vous pouvez exécuter une application en tant que service:
- L'application ne mettra pas d'icône dans la barre d'état système. Si vous avez besoin de l'interface disponible régulièrement pour une application, il se peut qu'elle ne soit pas la mieux adaptée pour fonctionner en tant que service..
- Lorsque vous devez apporter des modifications à la configuration ou des mises à jour, vous devez arrêter le service, exécuter le programme en tant qu'application standard, faire ce que vous devez faire, arrêter le programme, puis redémarrer le service..
- Si le programme est déjà configuré pour s'exécuter au démarrage de Windows, vous devez le désactiver pour ne pas avoir à exécuter deux instances. La plupart des programmes ont une option dans l'interface pour basculer ce paramètre. D'autres peuvent s'ajouter eux-mêmes à votre dossier de démarrage afin que vous puissiez les supprimer..
Prêt à partir? Parlons de la façon de le configurer.
Première étape: installer SrvStart
Pour exécuter une application en tant que service, vous aurez besoin d'un petit utilitaire tiers. Il y en a plusieurs là-bas, mais notre préféré est SrvStart. Il a été conçu à l'origine pour Windows NT et fonctionnera avec pratiquement toutes les versions de Windows à partir de Windows XP.
Pour commencer, rendez-vous sur la page de téléchargement de SrvStart et récupérez l’utilitaire. Le téléchargement ne contient que quatre fichiers (deux fichiers DLL et deux fichiers EXE). Il n'y a pas d'installation copiez-les plutôt sur votre ordinateur C: \ Windows
dossier dans votre dossier Windows principal pour “installer” SrvStart.
Nous allons également supposer que vous avez déjà installé et configuré le programme que vous allez transformer en service, mais si vous ne l'avez pas déjà fait, ce serait un bon moment pour le faire aussi..
Deuxième étape: créer un fichier de configuration pour le nouveau service
Ensuite, vous voudrez créer un fichier de configuration que SrvStart lira pour créer le service. SrvStart permet beaucoup de choses et vous pouvez lire tous les détails sur toutes les options de configuration sur la page de documentation. Pour cet exemple, nous n'utiliserons que deux commandes: Commencez
, qui spécifie le programme à lancer, et méthode_arrêt
, qui indique à SrvStart comment fermer le programme lorsque le service correspondant est arrêté.
Lancez le Bloc-notes et créez votre fichier de configuration en utilisant le format ci-dessous. Ici, nous utilisons Plex, mais vous pouvez créer un fichier pour tout programme que vous souhaitez exécuter en tant que service. le Commencez
La commande spécifie simplement le chemin où réside le fichier exécutable. Pour le méthode_arrêt
commande, nous utilisons le winmessage
paramètre qui force SrvStart à envoyer un message de fermeture Windows à toutes les fenêtres ouvertes par le service.
[Plex] startup = "C: \ Fichiers de programme (x86) \ Serveur multimédia Plex \ Serveur multimédia Plex.exe" shutdown_method = winmessage
Évidemment, ajustez le chemin et le nom en fonction du programme que vous lancez..
Enregistrez le nouveau fichier de configuration où vous voulez et remplacez l’extension .txt par une extension .ini. Notez le nom du fichier, car nous en aurons besoin à l'étape suivante. Pour faciliter la saisie à l’invite de commande, nous vous conseillons d’enregistrer ce fichier temporairement directement sur votre lecteur C :..
Troisième étape: utilisez l'invite de commande pour créer le nouveau service
L'étape suivante consiste à utiliser la commande Windows Service Controller (SC) pour créer le nouveau service en fonction des critères de votre fichier de configuration. Ouvrez l'invite de commandes en cliquant avec le bouton droit de la souris sur le menu Démarrer (ou en appuyant sur Windows + X), en choisissant "Invite de commandes (Admin)", puis en cliquant sur Oui pour lui permettre de s'exécuter avec des privilèges d'administrateur..
À l'invite de commandes, utilisez la syntaxe suivante pour créer le nouveau service:
SC CREATE Displayname = "" binpath = "srvstart.exe -c" start =
Il y a plusieurs choses à noter dans cette commande. Tout d'abord, chaque signe égal (=) est suivi d'un espace. C'est nécessaire. Également la valeur est entièrement à vous. Et enfin, pour le
valeur, vous voudrez utiliser
auto
afin que le service démarre automatiquement avec Windows.
Ainsi, dans notre exemple Plex, la commande ressemblerait à ceci:
SC CREATE Plex Displayname = "Plex" binpath = "srvstart.exe Plex -c C: PlexService.ini" start = auto
Oui, vous avez bien lu: j'ai utilisé C: PlexService.ini
au lieu de C: \ PlexService.ini
. La commande nécessite de supprimer la barre oblique.
Lorsque vous exécutez la commande, vous devriez recevoir un message SUCCESS si tout se passe bien..
À partir de ce moment, votre nouveau service s'exécutera au démarrage de Windows. Si vous ouvrez l'interface des services Windows (cliquez simplement sur Démarrer et tapez «Services»), vous pouvez trouver et configurer le nouveau service comme vous le feriez avec un autre.
Et c'est tout ce qu'il y a à faire. Si vous avez des applications qui commencent par Windows et que vous préférez ne pas avoir besoin d'un utilisateur pour vous connecter, il est assez facile de transformer n'importe quelle application en service. Nous venons juste de parler de la méthode de base pour créer et exécuter un nouveau service, mais vous pouvez faire beaucoup plus avec SrvStart pour peaufiner le fonctionnement d'un service. Assurez-vous de consulter la documentation si vous souhaitez en savoir plus..