Création d'une application autonome pour un kiosque devant être opérationnel 24 7.
Dans les rares cas où l'application se bloque, j'ai besoin d'un moyen de le faire redémarrer automatiquement. J'utilise Windows 10 sur un Nuc.
Les experts de Windows peuvent-ils suggérer le meilleur moyen d’y parvenir?
windows-10
crash
monitoring
Bachalo
la source
la source
Réponses:
Une solution consiste à utiliser un fichier de commandes avec une
for
boucle infinie pour redémarrer automatiquement l'application si elle se ferme. Il y a deux possibilités ici, en fonction de la conception de l'application.Si l'application est lancée et s'exécute dans le même processus, vous pouvez utiliser un fichier de commandes très simple:
Cela fonctionnera indéfiniment. Chaque fois que
application.exe
se ferme ou se bloque, le fichier de commandes le redémarre.Cela ne fonctionnera pas si se
application.exe
lancesubapp.exe
puis seapplication.exe
ferme. Dans ce cas, vous auriez besoin de quelque chose de plus compliqué.Si votre application peut avoir plusieurs processus, vous pouvez probablement utiliser quelque chose comme à la
FINDSTR /i "subapp.exe application.exe"
place deFIND /i "subapp.exe"
, mais cela ne fonctionnerait pas pour les processus avec des espaces dans leur nom car ilsFINDSTR
utilisent l'espace comme un suppresseur.Pour arrêter ces fichiers de commandes une fois qu’ils ont été démarrés, laissez l’application ouverte et passez à l’invite de commande. Ensuite, utilisez Ctrl+ Cet confirmez que vous souhaitez mettre fin au script. Une fois le script terminé, fermez l'application.
Lectures complémentaires:
PING
FIND
)^
caractère de la boucle for est un caractère d'échappementla source
TIMEOUT
commande. Je l'ai ajouté à l'exemple dans la réponse.