[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 メーリングリストの案内