GNU/Linux >> Tutoriels Linux >  >> Linux

Comment s'assurer qu'une application continue de fonctionner sous Linux

J'ai utilisé un script simple avec cron pour m'assurer que le programme est en cours d'exécution. Si ce n'est pas le cas, il le démarrera. Ce n'est peut-être pas la solution parfaite que vous recherchez, mais elle est simple et fonctionne plutôt bien.

#!/bin/bash
#make-run.sh
#make sure a process is always running.

export DISPLAY=:0 #needed if you are running a simple gui app.

process=YourProcessName
makerun="/usr/bin/program"

if ps ax | grep -v grep | grep $process > /dev/null
then
    exit
else
    $makerun &
fi

exit

Ajoutez ensuite une tâche cron toutes les minutes ou toutes les 5 minutes.


Monit est parfait pour ça :)

Vous pouvez écrire des fichiers de configuration simples qui indiquent à monit de regarder, par ex. un port TCP, un fichier PID etc

monit exécutera une commande que vous spécifiez lorsque le processus qu'il surveille est indisponible/utilise trop de mémoire/attache le CPU trop longtemps/etc. Il affichera également une alerte par e-mail vous indiquant ce qui s'est passé et s'il peut faire quelque chose à ce sujet.

Nous l'utilisons pour maintenir une charge de nos sites Web en cours d'exécution tout en nous avertissant rapidement en cas de problème.

-- Votre fidèle employé, Monit


Linux
  1. Comment rendre un ancien ordinateur utile à nouveau

  2. Linux - Comment identifier quelle distribution Linux est en cours d'exécution ??

  3. Comment redémarrer (ou réinitialiser) un processus en cours d'exécution sous Linux ?

  4. Comment tuer les processus en cours d'exécution sous Linux

  5. Comment faire une sauvegarde différentielle sous Linux ?

Comment créer une clé USB multiboot sous Linux et Windows

Comment activer l'option "Modifier" dans l'application Shutter sous Linux

Comment tuer le processus Linux en cours d'exécution sur un port particulier

Comment rendre un fichier exécutable dans un terminal Linux ?

Comment créer un serveur Minecraft sur des distributions Linux

Comment puis-je profiler du code C++ exécuté sous Linux ?