2010-08-01 9 views
-2

Je dois redémarrer mon programme php lorsque la mémoire du programme dépasse 500mb. Peut-il être fait par n'importe quel script en php ou en shell?commande shell pour redémarrer un programme php

+0

Est-ce un shell Windows ou quelque chose comme Bash ou ksh? – strager

+0

il est dans Linux Ubuntu .. –

+5

Est-ce un hack pour contourner une fuite de mémoire? – Borealid

Répondre

1

Exécutez votre script PHP comme ceci:

php -d "memory_limit=500M" myscript.php 

Et le faire pour toujours:

while true; do php -d "memory_limit=500M" myscript.php; done 
+1

heh ... bonne astuce :) Je voudrais utiliser démon pour cela ... – confiq

+0

J'ai écrit un shell script start.sh comme ceci php -d "memory_limit = 500M" myscript.php tout vrai; fais php -d "memory_limit = 500M" myscript.php; fait une fois que je cours le programme je reçois erreur de segmentation faute .... –

+0

@ Ram, Le script ne devrait contenir que la deuxième ligne. Je montrais juste la progression naturelle à la solution dans ma réponse. Je ne vois pas comment vous auriez une erreur de segmentation; ce serait un bug en PHP que vous voudrez signaler. (Comment est-ce que vous exécutez normalement le script PHP?) – strager

0

Chaque fois que je traite des programmes de longue durée, je souhaite inclure quelques outils de base pour vérifier si elles sont actifs, quelles sont les erreurs qu'ils créent, etc. Voici un script rapide que je cours avec cron pour m'assurer que mes ouvriers sont opérationnels. Bien sûr, vous ne voulez pas que la sortie de votre script soit envoyée à/dev/null. En fait, si vous rencontrez des problèmes avec l'utilisation de la mémoire, vous pouvez utiliser l'opérateur >> pour capturer la sortie de votre script dans un journal de fortune.

Questions connexes