<?php
ignore_user_abort();
set_time_limit(0);
$interval = 3600;
do
{
if(file_exists('stop'))
exit;
$fp = fopen('text','a');
fwrite($fp,date('Y-m-d H:i:s')."\r\n");
fclose($fp);
sleep($interval);
}
while(true);
?>
test结果:
2012-01-04 11:00:02
2012-01-04 11:59:05
2012-01-04 12:00:02
2012-01-04 12:59:05
2012-01-04 13:00:02
2012-01-04 13:59:05
2012-01-04 14:00:02
2012-01-04 14:59:05
2012-01-04 15:00:02
2012-01-04 15:59:05
2012-01-04 16:00:02
2012-01-04 16:59:05
2012-01-04 17:00:02
2012-01-04 17:59:05
2012-01-04 18:00:02
2012-01-04 18:59:05
2012-01-04 19:00:02
2012-01-04 19:59:08
2012-01-04 20:00:05
2012-01-04 20:59:12
2012-01-04 21:00:08
2012-01-04 21:59:15
2012-01-04 22:00:12
2012-01-04 22:59:19
2012-01-04 23:00:15
2012-01-04 23:59:22
2012-01-05 00:00:19
2012-01-05 00:59:26
2012-01-05 01:00:23
2012-01-05 01:59:30
2012-01-05 02:00:26
2012-01-05 02:59:33
2012-01-05 03:00:30
2012-01-05 03:59:37
2012-01-05 04:00:34
2012-01-05 04:59:41
2012-01-05 05:00:37
2012-01-05 05:59:44
2012-01-05 06:00:41
2012-01-05 06:59:48
2012-01-05 07:00:44
2012-01-05 07:59:52
2012-01-05 08:00:48这代码怎么运行不到24个小时就挂了,我的就行了21个小时,它应该无限执行下去才对啊,服务器没有重启过一直运行着。
不知道怎么回事 求大家帮助!
ignore_user_abort();
set_time_limit(0);
$interval = 3600;
do
{
if(file_exists('stop'))
exit;
$fp = fopen('text','a');
fwrite($fp,date('Y-m-d H:i:s')."\r\n");
fclose($fp);
sleep($interval);
}
while(true);
?>
test结果:
2012-01-04 11:00:02
2012-01-04 11:59:05
2012-01-04 12:00:02
2012-01-04 12:59:05
2012-01-04 13:00:02
2012-01-04 13:59:05
2012-01-04 14:00:02
2012-01-04 14:59:05
2012-01-04 15:00:02
2012-01-04 15:59:05
2012-01-04 16:00:02
2012-01-04 16:59:05
2012-01-04 17:00:02
2012-01-04 17:59:05
2012-01-04 18:00:02
2012-01-04 18:59:05
2012-01-04 19:00:02
2012-01-04 19:59:08
2012-01-04 20:00:05
2012-01-04 20:59:12
2012-01-04 21:00:08
2012-01-04 21:59:15
2012-01-04 22:00:12
2012-01-04 22:59:19
2012-01-04 23:00:15
2012-01-04 23:59:22
2012-01-05 00:00:19
2012-01-05 00:59:26
2012-01-05 01:00:23
2012-01-05 01:59:30
2012-01-05 02:00:26
2012-01-05 02:59:33
2012-01-05 03:00:30
2012-01-05 03:59:37
2012-01-05 04:00:34
2012-01-05 04:59:41
2012-01-05 05:00:37
2012-01-05 05:59:44
2012-01-05 06:00:41
2012-01-05 06:59:48
2012-01-05 07:00:44
2012-01-05 07:59:52
2012-01-05 08:00:48这代码怎么运行不到24个小时就挂了,我的就行了21个小时,它应该无限执行下去才对啊,服务器没有重启过一直运行着。
不知道怎么回事 求大家帮助!
比如:
Linux系统的话,可以把你的程序加到cron里面去。让cron一天执行一次就OK了。
Windows系统的话,好像是有个任务计划什么的。把你的php程序加到那里面比较好一些。
个人意见,仅供参考。
最好还是操作系统取执行计划任务,你说的“window下的计划任务最小单位只能是天”问题应该是不存在的
看文档
http://support.microsoft.com/kb/308569
有这么一句话:备注: 如果打开了“任务计划”,则可通过以下方法随时打开任务的属性对话框:右键单击该任务,然后单击属性。 不能将任务安排成在小于一天的时间间隔内重复;但是,可在属性对话框中这样做:
单击日程安排选项卡,然后单击高级。
单击选中“重复任务”复选框,然后指定希望任务在多少分钟或多少小时后重复。
因为php结束会释放资源,但是,如果你是一直运行的,有些资源一直无法释放就很正常了....
这也有可能是造成死掉的一个原因