php 限制LInux的某个进程脚本数量

我们在Linux环境中需要运行定时脚本数量,同一个脚本同一时间只能运行一个,我们可以用下面的函数进行限制。比如再yii框架中:funCheckThread('kbfg create_worker')

    /**
     * 限制脚本运行个数
     * @param       string  $strName                需要检测的脚本名称
     * @param       int             $intNum                 默认不超过的线程数1个(不包含)
     * @return  boolean                                     true:可以继续   false:已经达到最大脚本限制
     */
    function funCheckThread($strName = '', $intNum = 1) {
        set_time_limit(0);

        // 定义将要运行的语句
        $strExec = '';
        $isReturn = true;

        $strExec = "ps -ef | grep php | grep '{$strName}' | grep -v grep | grep -v '>>' | wc -l";
        $count = exec($strExec);
        echo "进程数:" . ($count - 1) . "\tpid:" . getmypid() . "\n";
        if ($count > $intNum) {
            $isReturn = false;
        }

        return $isReturn;
    }

本函数仅能在Linux环境中运行。

腾讯云限时秒杀【点击购买】

搬瓦工,CN2高速线路,1GB带宽,电信联通优化KVM,延迟低,速度快,建站稳定,搬瓦工BandwagonHost VPS优惠码BWH26FXH3HIQ,支持<支付宝> 【点击购买】!

Vultr$3.5日本节点,512M内存/500G流量/1G带宽,电信联通优化,延迟低,速度快【点击购买】!

阿里云香港、新加坡VPS/1核/1G/25G SSD/1T流量/30M带宽/年付¥288【点击购买】


`微信`扫码 加好友,入群
WordPress插件主题开发定制
Linux服务器配置迁移
扣扣群 665443669

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注