Agence web » Actualités du digital » Configuration d’une application Windows pour qu’elle s’exécute indéfiniment avec PowerShell –

Configuration d’une application Windows pour qu’elle s’exécute indéfiniment avec PowerShell –

Si vous êtes habitué à bash et nouveau dans PowerShell, même la plus simple des tâches peut prêter à confusion. Pour tous les administrateurs Linux obligés d’utiliser Windows Server, voici comment configurer la configuration d’un programme pour qu’il s’exécute en tant que démon à redémarrage automatique.

Tandis que ($ true), Start-Process

Dans PowerShell, vous pouvez effectuer une boucle comme de nombreux langages de programmation et de script. La syntaxe est while($true) suivi d’accolades pour la boucle.

Dans cette boucle, nous allons lancer le processus avec Start-Process. Cela prend un -FilePath argument avec un chemin vers votre exécutable. Vous pouvez utiliser le chemin relatif pour cela.

while($true) 
{ 
    Start-Process -FilePath .StartServer.exe -Wait 
}

Vous aurez également besoin du -Wait paramètre, car par défaut, PowerShell bouclera indéfiniment et consommera toute votre RAM, vous déconnectant de RDP et forçant un redémarrage du serveur. J’ai découvert cela à la dure, alors assurez-vous qu’il attend.

Cela lancera le processus comme sa propre fenêtre, la fenêtre PowerShell s’exécutant en arrière-plan. Si l’application rencontre une panne ou s’arrête, le script PowerShell la redémarrera automatiquement.

Si le fait d’être dans sa propre fenêtre pose un problème, vous pouvez essayer d’exécuter avec le -NoNewWindow paramètre. Cependant, cela ne gère pas très bien stderr, vous voudrez peut-être essayer Invoke-Process, une fonction personnalisée de la galerie PowerShell.

Dans mon cas, j’exécutais plusieurs de ces fenêtres, j’ai donc défini les titres comme le nom du répertoire afin de pouvoir les distinguer.

$host.ui.RawUI.WindowTitle = $(get-location)

Exécution au démarrage

Ce ne serait pas un démon si un redémarrage du serveur compromettait toute votre opération, vous devrez donc configurer ce script pour qu’il s’exécute au démarrage.

Heureusement, c’est assez facile sur Windows. Ouvrez le planificateur de tâches:

Créez une nouvelle tâche de base:

Configurez-le pour qu’il s’exécute au démarrage de l’ordinateur:

Sélectionnez «Démarrer un programme» et recherchez votre script. Vous pouvez également ajouter des arguments ici.

Et avec cela, vous devez être à l’abri des redémarrages et des plantages aléatoires des applications.

★★★★★