GNU/Linux >> Tutoriels Linux >  >> Linux

Assurez-vous qu'un processus est toujours en cours d'exécution ?

J'ai commencé à héberger des sites il y a quelque temps en utilisant Cherokee. Pour les sources externes (FastCGI, etc.), il a la possibilité de lancer le processus s'il n'en trouve pas un en cours d'exécution sur le socket ou le port désigné. C'est très bien car cela signifie que si PHP ou un site Django tombe (comme ils le font parfois), il le redémarre automatiquement.

Sur un nouveau serveur utilisant PHP-FPM, je ne pouvais pas utiliser Cherokee (il y a un bogue avec PHP) donc je suis passé à NGINX. J'aime vraiment NGINX (pour son style de configuration) mais j'ai de sérieux problèmes avec les processus qui tombent et ne réapparaissent jamais. PHP le fait parfois mais les sites Django sont plus problématiques. J'ai créé des scripts d'initialisation pour eux et ils apparaissent au démarrage, mais cela ne m'aide pas s'ils s'effondrent entre les redémarrages.

Je suppose que je cherche un proxy FastCGI. Quelque chose qui, comme Cherokee, sait quels processus doivent être exécutés sur quels sockets/ports et les réapparaît à la demande. Est-ce qu'une telle chose existe? Existe-t-il un moyen de l'intégrer à NGINX (pour faciliter la configuration) ?

Réponse acceptée :

Qu'en est-il de daemontools et plus particulièrement de l'outil de supervision

supervise surveille un service. Il démarre le service et redémarre le service s'il meurt. La configuration d'un nouveau service est simple :tout ce dont Supervise a besoin est un répertoire avec un script d'exécution qui exécute le service.


Linux
  1. Changer l'environnement d'un processus en cours ?

  2. Obtenir l'heure de l'utilisateur et du noyau d'un processus en cours d'exécution ?

  3. Vérifier le processus si le même est en cours d'exécution ?

  4. Debian - Comment garantir la disponibilité exclusive du processeur pour un processus en cours d'exécution ?

  5. Vérifier les services en cours d'exécution sous Linux

Comment répertorier les processus en cours d'exécution sous Linux

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

Processus en cours d'exécution

Comment vérifier si un service particulier est en cours d'exécution sur Ubuntu

Linux :transformer en service

Le démarrage ou le redémarrage du service Mongo échoue toujours