[PHP-users 34765] Re: sleep関数が復帰せずプロセスがダウンする
Eijun Kitamura
eijun @ hal.ne.jp
2009年 9月 16日 (水) 03:15:45 JST
北村と申します。
若葉とか初心者とか名乗っても叩かれない、良い時代になりました。
さて、本題ですが、
Test_Sleep.phpの
> while($loop_condition){
は無限ループになっているように思いますが、これは意図的なものですか?
ログファイルが異常に大きくなってしまったとか。
あと、exec()の戻り値や標準エラーを取得すると、何か出てきませんか?
手元に実行環境が無いので、適当に気になる所を挙げてみました。
以上です。
Yuji KUBOTA さんは書きました:
> はじめて質問させて頂きます。PHPに関して日々勉強させて頂いております。(若葉マーク)
>
> 以下に質問内容をまとめました。よろしくお願いします。
>
> 1.質問事項
> プロセスがダウンする要因についてコメントを頂きたく、よろしくお願い申し上げます。
>
> 2.症状
> 6項に示す二つのプログラムを用いてsleep関数の動作を確認したとろこ、3時間ほど経
> 過するとsleep関数が復帰せずTest_Sleep.phpのプロセスがダウンしてしまいます。
>
> 3.エラー内容
> php.iniファイルにて
> error_reporting = E_ALL & ~E_NOTICE
> と設定しておりますが、PHPエンジンからのエラー通知はありません。
>
> 4.発生条件・再現性
> 6項に示す環境で、100%再現しております。
>
> 5.動作手順
> ブラウザ(firefox)を用いてTest_CreateSleepProc.phpを呼び出す。
>
> 6.プログラム
> --- Test_CreateSleepProc.php ---
> <?php
> exec("php -f Test_Sleep.php > /dev/null &");
> ?>
> ---
>
> --- Test_Sleep.php ---
> <?php
> $loop_condition = true ;
> $loop_cnt = 0 ;
> while($loop_condition){
> try {
> $ret = sleep(10);
> if ($ret != 0) {
> error_log(__FILE__.' '.__LINE__." sleepエラー発生:".$ret."\n", 3,
> "./log/test_sleep.log");
> }
> } catch (Exception $e) {
> $logger->fatal(__FILE__.' '.__LINE__.' プロセススリープ時に例外発生:'.$e) ;
> }
> $loop_cnt++ ;
> error_log(__FILE__.' '.__LINE__." sleep[".$loop_cnt."]\n", 3,
> "./log/test_sleep.log");
> }
> error_log(__FILE__.' '.__LINE__." プロセス終了:".$loop_condition."\n", 3,
> "./log/test_sleep.log");
> ?>
> ---
>
> 6.利用環境
> ・OS:
> Fedora Core release 6 (Zod)
>
> ・Webサーバ:
> Server version: Apache/2.2.6 (Unix)
> Server built: Sep 18 2007 11:26:13
>
> ・PHP:
> PHP 5.1.6 (cli) (built: Sep 18 2007 09:07:04)
> Copyright (c) 1997-2006 The PHP Group
> Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
>
> ・php.ini:
> ;;;;;;;;;;;;;;;;;;;
> ; Resource Limits ;
> ;;;;;;;;;;;;;;;;;;;
> max_execution_time = 0 ; Maximum execution time of each script, in seconds
> max_input_time = 60 ; Maximum amount of time each script may spend parsing
> request data
> memory_limit = 1000M ; Maximum amount of memory a script may consume
>
> 以上
>
> _______________________________________________
> PHP-users mailing list PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3
>
PHP-users メーリングリストの案内