23Aug

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 de petits utilitaires qui fonctionnent lorsque vous démarrez Windows. Bien que cela fonctionne très bien pour la plupart des applications, il y en a certaines qui seraient pratiques à démarrer avant même que l'utilisateur ne se connecte au PC.Pour ce faire, vous devez exécuter l'application en tant que service Windows.

Les services Windows sont 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 avoir besoin d'un utilisateur pour se connecter au PC.Beaucoup de joueurs et d'utilisateurs expérimentés les connaissent comme les choses que vous avez l'habitude de désactiver pour accélérer votre système, mais ce n'est plus vraiment nécessaire.

Le principal avantage de l'exécution d'une application en tant que service est que vous pouvez démarrer un programme avant qu'un utilisateur 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..

ARTICLES CONNEXES
Comprendre et gérer les services Windows
devez-vous désactiver les services Windows pour accélérer votre PC?

Un exemple parfait de ceci est Plex, une application de serveur de médias qui peut diffuser le contenu local à peu près n'importe quel appareil que vous possédez. Bien sûr, vous pouvez le laisser s'asseoir 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 programmées? Jusqu'à ce que vous vous reconnectiez sur le PC, Plex ne serait pas disponible. C'est irritant si vous devez courir dans une autre pièce pour redémarrer Plex pendant que votre pop-corn devient froid, et super irritant si vous êtes hors de la ville et essayez de diffuser vos médias sur Internet. Configurer Plex en tant que service résoudrait ce problème.

Avant de commencer, vous devez connaître deux mises en garde importantes concernant l'exécution d'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 n'est peut-être pas la mieux adaptée pour fonctionner en tant que service.
  • Lorsque vous devez effectuer des modifications de 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 afin que deux instances ne soient pas exécutées. La plupart des programmes ont une option dans l'interface pour basculer ce paramètre. D'autres peuvent s'ajouter à votre dossier de démarrage, vous pouvez donc les supprimer.

Prêt à rouler? Parlons de la façon de le configurer.

Première étape: Installation de SrvStart

Pour exécuter une application en tant que service, vous aurez besoin d'un petit utilitaire tiers. Il y en a plusieurs, mais notre préféré est SrvStart. Il a été conçu à l'origine pour Windows NT et fonctionne avec n'importe quelle version de Windows à partir de Windows XP.

Pour commencer, rendez-vous sur la page de téléchargement de SrvStart et prenez l'utilitaire. Le téléchargement contient seulement quatre fichiers( deux DLL et deux fichiers EXE).Il n'y a pas d'installateurà la place, copiez-les dans le dossier C: \ Windows de votre ordinateur et 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 ce n'est pas le cas, ce serait également le bon moment pour le faire.

Etape 2: Créer un fichier de configuration pour le nouveau service

Ensuite, vous voudrez créer un fichier de configuration que SrvStart va lire pour créer le service. Vous pouvez faire beaucoup de choses avec SrvStart, et vous pouvez lire tous les détails sur toutes les options de configuration sur la page de documentation. Pour cet exemple, nous allons seulement utiliser deux commandes: startup, qui spécifie le programme à lancer, et shutdown_method, qui indique à SrvStart comment fermer le programme lorsque le service respectif 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 voulez exécuter en tant que service. La commande de démarrage spécifie simplement le chemin où réside le fichier exécutable. Pour la commande shutdown_method, nous utilisons le paramètre winmessage, qui permet à SrvStart d'envoyer un message de fermeture Windows aux fenêtres ouvertes par le service.

[Plex] startup = "C: \ Program Files( x86) \ Serveur Plex \ Plex Media \ Serveur Plex Media.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 commandes, nous vous suggérons d'enregistrer ce fichier temporairement sur votre disque C: .

Troisième étape: utilisation de l'invite de commande pour créer le nouveau service

L'étape suivante consiste à utiliser la commande SC( Windows Service Controller) pour créer le nouveau service en fonction des critères de votre fichier de configuration. Ouvrez Invite de commandes en cliquant avec le bouton droit sur le menu Démarrer( ou en appuyant sur Windows + X), en choisissant "Invite de commandes( Admin)", puis en cliquant sur Oui pour autoriser l'exécution avec des privilèges d'administration.

À l'invite de commandes, utilisez la syntaxe suivante pour créer le nouveau service:

SC CREATE & lt; servicename & gt;Displayname = "& lt; servicename & gt;"binpath = "srvstart.exe & lt; servicename & gt; -c & lt; chemin d'accès au fichier de configuration srvstart & gt;"start = & lt; starttype & gt;

Il y a quelques choses à noter dans cette commande. D'abord, chaque signe égal( =) a un espace après. C'est nécessaire. En outre, le & lt; servicename & gt;la valeur est entièrement à vous. Et, finalement, pour le & lt; starttype & gt;valeur, vous devez utiliser auto pour que le service démarre automatiquement avec Windows.

Donc, 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: jeutilisé C: PlexService.ini au lieu de C: \ PlexService.ini. La commande vous oblige à 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 à chaque démarrage de Windows. Si vous ouvrez l'interface Windows Services( cliquez simplement sur Démarrer et tapez "Services"), vous pouvez trouver et configurer le nouveau service comme vous le feriez pour n'importe quel autre.

Et c'est tout ce qu'il y a à faire. Si vous avez des applications qui démarrent avec Windows et que vous préférez qu'elles démarrent sans avoir besoin d'un utilisateur pour vous connecter, il est assez facile de transformer n'importe quelle application en service. Nous venons tout juste d'aborder la méthode de base pour créer et exécuter un nouveau service, mais vous pouvez faire beaucoup plus avec SrvStart pour affiner le fonctionnement d'un service. Assurez-vous de consulter la documentation si vous souhaitez en savoir plus.