Comment puis-je écrire un script bash pour redémarrer un processus s'il meurt?

J'ai un script python qui vais vérifier une file d'attente et l'exécution d'une action sur chaque élément:

# checkqueue.py
while True:
  check_queue()
  do_something()

Comment puis-je écrire un script bash qui va vérifier si il fonctionne, et si non, commencez. À peu près le pseudo-code suivant (ou peut-être qu'il devrait faire quelque chose comme ps | grep?):

# keepalivescript.sh
if processidfile exists:
  if processid is running:
     exit, all ok

run checkqueue.py
write processid to processidfile

Je vais l'appeler à partir d'un crontab:

# crontab
*/5 * * * * /path/to/keepalivescript.sh
  • Juste pour ajouter cet pour 2017. Utilisation supervisord. crontab n'est pas d'effectuer ce genre de tâche. Un script bash est terrible sur émettant de l'erreur réelle. stackoverflow.com/questions/9301494/...
  • Comment sur l'utilisation de inittab et respawn à la place des autres solutions de système? Voir superuser.com/a/507835/116705
InformationsquelleAutor Tom | 2009-03-30