[PHP-users 34763] sleep関数が復帰せずプロセスがダウンする
Yuji KUBOTA
kubota.yuji @ forestgroup.net
2009年 9月 15日 (火) 18:09:59 JST
はじめて質問させて頂きます。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 メーリングリストの案内