龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php 命令行做无限循环后台进程

时间:2014-09-23 12:05来源:网络整理 作者:网络 点击:
分享到:
命令行做无限循环后台进程 避免一个进程无限循环执行N久之后,莫名其妙的挂掉,把无限循环拆成有限循环,并调用自身,用另一种方式实现无限循环,并把计算任务分到不同的进程不

避免一个进程无限循环执行N久之后,莫名其妙的挂掉,

把无限循环拆成有限循环,并调用自身,用另一种方式实现无限循环,

并把计算任务分到不同的进程

不是很喜欢写“#!/bin/bash”,所以就用php格式

<?php
    /*
     *  避免一个进程无限循环执行N久之后,莫名其妙的挂掉,
     *  把无限循环拆成有限循环,并调用自身,用另一种方式实现无限循环,
     *  并把计算任务分到不同的进程
     */

    //禁止http访问,只允许命令行执行
    if(isset($_SERVER['SERVER_PROTOCOL'])){ 
        exit('it is nothing here');
    }
    else{
        $doc=$_SERVER['DOCUMENT_ROOT'].$_SERVER['SCRIPT_NAME'];
    }

    //开始引用文件、定义变量、连接数据库

    $times=50; // 循环次数
    include 'abc.php';

    //结束引用文件、定义变量、连接数据库

    while($times>0){

        //业务逻辑代码开始

        //业务逻辑代码结束

        --$times;
    }

    //完成设定循环次数之后,重新调用本身继续执行,需要给php shell权限
    $cmd='php '.$doc;
    exec($cmd);

?>
//该片段来自于http://outofmemory.cn
精彩图集

赞助商链接