有時候為了監控某個程序,需要定時任務。需要程序自動運行。
1、ignore_user_abort()
ignore_user_abort()函數搭配set_time_limit(0)和sleep($interval)即可實現程序自動運行更新。
例子:
//即使Client斷開(如關掉浏覽器),PHP腳本也可以繼續執行.
ignore_user_abort();
// 執行時間為無限制,php默認的執行時間是30秒,通過set_time_limit(0)可以讓程序無限制的執行下去
set_time_limit(0);
// 每隔5分鐘運行
$interval
=60*5;
do
{
$url
=
"http://88181.com"
;
$ch
= curl_init();
curl_setopt(
$ch
, CURLOPT_URL,
$url
);
curl_setopt(
$ch
, CURLOPT_RETURNTRANSFER, 1);
curl_setopt(
$ch
, CURLOPT_TIMEOUT, 2);
$result
= curl_exec(
$ch
);
curl_close(
$ch
);
// 等待5分鐘
sleep(
$interval
);
}
while
(true);
只要運行上面的頁面,然後關掉,程序就會一直運行下去。
2、crontab
Linux 下有種更簡單的方法,就是crontab命令
crontab命令的功能是在一定的時間間隔調度一些命令的執行。
crontab 使用方法: crontab [ -e | -l | -r ] 文件名 -e:編輯任務 -l:顯示任務信息 -r:刪除定時執行任務信息
crontab的格式:
* * * * * Command
分 時 日 月 星期 要運行的命令
crontab的例子:
*/5 * * * * /usr/bin/curl
"http://88181.com"
#每5分鐘訪問一次 www.88181.com