Relance script php après arrêt serveur

zabroska Messages postés 37 Date d'inscription mercredi 2 janvier 2008 Statut Membre Dernière intervention 28 août 2008 - 5 mai 2008 à 11:00
dydjy940 Messages postés 79 Date d'inscription mardi 28 novembre 2006 Statut Membre Dernière intervention 28 juin 2008 - 9 juin 2008 à 17:02
Bonjour,

Voici le problème qui me pose problème depuis un petit bout de temps et que je n'arrive toujours pas à résoudre :
Dans mon application, j'ai un script php qui tourne 24H/24 lorsque le serveur tourne. De ce fait, si il y a un arrêt du serveur, le script doit être relancé à la main. Et c'est la que le probleme arrive! Je voudrais savoir comment relancer automatiquement le script au moment ou je relance le serveur.
Voila pour mon probleme. J'espere que quelqu'un aura une solution à me proposer.
Merci d'avance.

De plus, j'aimerai savoir s'il était possible de connaître l'état d'un script (s'il est lancé ou pas).

Merci.

3 réponses

yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 1
5 mai 2008 à 12:41
Bonjour,

C'est tout à fait possible, avec windows tu as les services ainsi que la base de registre pour démarré un programme.
Pour Linux/FreeBSD, tu as aussi les services (init.d, rc.d). La façon la plus simple de démarrer un programme lorsque le système démarre, c'est le fichier /etc/rc.local (il peut être dans un autre endroit, suivant ta distribution). Il est executé après tous les autres scripts d'initialisation.

Pour savoir si le process est déja lancé, sous windows je sais pas trop, via une commande externe je suppose.

Pour linux tu peux soit utiliser des pid files, soit voir avec la liste de processus.

Les pidfiles: Lorsque ton programme démarre, à l'aide des fonctions posix tu récupère le PID de ton application et tu le mets dans un fichier. Ensuite quand tu veux savoir tu lis ledis fichier, et tu interroge (via fonction posix) pour savoir c'est quoi ce processus la, si il tourne, c'est quoi son nom et tu compare avec ce que tu veux.

Sinon, tu fais simplement if (trim(shell_exec('ps aux|grep lenomdetonprogramme')) != ''){ echo 'il fonctionne deja';exit();}

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
0
zabroska Messages postés 37 Date d'inscription mercredi 2 janvier 2008 Statut Membre Dernière intervention 28 août 2008
5 mai 2008 à 14:34
Merci pour toutes ces réponses.
En effet, je suis sous Windows donc j'ai bien vu ce que tu avais écrit mais comment ça se met en place?
Et sinon personne d'autres sait comment faire pour voir l'état d'un script sous Windows?
Merci d'avance pour les réponses.
0
dydjy940 Messages postés 79 Date d'inscription mardi 28 novembre 2006 Statut Membre Dernière intervention 28 juin 2008
9 juin 2008 à 17:02
ou sinon essaye d'utiliser des cron, tape ce mot sur google :)
0
Rejoignez-nous