2009年9月18日

[PHP-users 34776] Re:sleep関数が復帰せずプロセスがダウンする

 Mashikiです。

>>> 定期的に処理を実行するプログラムをプロセスとして常駐化させ利用したと考えて
>>> います。
:
>自己運営サーバーなので基本的にはサーバーに関する制限はなしです。
>開発環境としてPHPで統一しておきたいと言う理由です。

>> 常駐化なら、やはり常駐プロセスとしてプログラムを
>> 作成するのが正攻法だと思います。
>そのように見直すべきかとも考え始めております。

>それにしても、なぜプロセスがダウンするかの原因は明確にしておきたいと考えてい
>ます。

前田さんのapacheプロセスの終了が怪しそうですね。

apache経由でなく、コマンドラインから実行して再現しないのであれば、

--- Test_CreateSleepProc.php ---
<?php
exec("echo 'php -f Test_Sleep.php > /dev/null' | at now");
?>

でいけそうな気がします。


ところで、なぜ常駐させたいのか語られていないのですが、
自分だったら可能な限り常駐は避けます。

 php自身、利用しているモジュールやライブラリ、自分で書いた
プログラムのすべてについて、メモリリークがないことを保障するのは
難しいので、60回だけループして終了するようなプログラムにして、
それをcronで10分置きに起動するとかを選択するでしょうね。

ブラウザから開始/終了したいのであれば、apache側プログラムは
設定ファイルにフラグをセットするだけにするとか...。
_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2009年9月18日 07:20
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/88700
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。