2010-11-30 37 views
0

一定の限界に到達した後に行くので、ここでは、これと同様の問題を見ていない:再起動スクリプトは

はのは、私はcronスクリプトを実行しているとしましょう、それはメモリ不足(64M)を実行する可能性を秘めていますまたは時間(30秒)。スクリプトがこれを検出して再起動する方法、または自身にリダイレクトする方法はありますか?

+0

CLIから起動されるスクリプトには通常、時間制限がなく64Mよりもはるかに高いメモリ制限があります。 – KingCrunch

答えて

1

私はあなたがPHPの呼び出しは、このような何かを包むので、もしこれがUNIXのいくつかの並べ替えで実行されていると仮定しています:

#!/bin/sh 
# specify the full path and params below. 
safe_exec() 
{ 
    if /bin/ps -axww | /usr/bin/grep "$*" | /usr/bin/grep -v grep > /dev/null; then 
     # the specified script running, don't start it again 
     return 
    else 
     # run 
     $* 
    fi 
} 
safe_exec php /path/to/your/php/script.php 

あなたの時限式のcronを再起動するスクリプトたびに限り、それはまだ実行されていません。

スクリプトを最適化することもできます。無限にループしてwhile(true) {}を実行していて、RAMが不足している場合は、何か悪いことをしてそれに応じて管理しています。

実行時間が足りない場合は、CLIスクリプト用にを介してmax_execution_timeを設定する必要があります。

関連する問題