Linux中用PHP判断程序运行状态的2个方法


Posted in PHP onMay 04, 2014

有时候在服务器上面写一些脚本的时候,经常要放到crontab里面定时运行。时间长了就有一个问题,那就是程序重复运行消耗太多的资源,怎么处理呢?下面我写了两种方法:

第一种:用linux里面的正则匹配

function ifrun($clsname,$bf = 0)
{
    //下面进行检测,如有一个进程正在运行,则不运行
    $str=shell_exec("/bin/ps ax > /home/root/".$clsname."_run.txt");
    $str=shell_exec("/bin/grep -c '".$clsname.".php' /home/root/".$clsname."_run.txt");    if($bf >0)
    {
        if($str >=$bf)
        {
            return 1;
        }
        else
        {
            return 0;
        }
    }
    else
    {
        if ($str>=2)
        {
           return 1;
        }
        else
        {
           return 0; 
        }
    }
}

调用:

if (ifrun('pooy',5)) {    die("pooy is running"); }

备注:pooy是程序pooy.php的名称!

第二种:把进程写到文件里面,然后用file函数去读取然后去匹配字符串

system('ps -ef |grep wget > /root/pooy.txt');
$arr=file('/root/pooy.txt');
$total=count($arr);
for($i=0;$i<$total;$i++){
  $count=array();
   if(stristr($arr[$i],'www/pooy') !== FALSE) {
    //echo '"earth" not found in string';
      $count[]='no';
      break;
  }}
if(count($count) >= 1 )
{
    echo "A same programs are running";
    exit();
}else
{
    echo "start__________________________________________________";
}

注:”www/pooy” 是程序里面包含的字符串!

现在php程序在linux运行是否通畅多了呢?

PHP 相关文章推荐
PHP生成便于打印的网页
Oct 09 PHP
php读取xml实例代码
Jan 28 PHP
php中如何同时使用session和cookie来保存用户登录信息
Jul 05 PHP
Thinkphp中Create方法深入探究
Jun 16 PHP
phpword插件导出word文件时中文乱码问题处理方案
Aug 19 PHP
destoon实现调用图文新闻的方法
Aug 21 PHP
smarty内置函数foreach用法实例
Jan 22 PHP
php实现汉字验证码和算式验证码的方法
Mar 07 PHP
php实现将数组转换为XML的方法
Mar 09 PHP
用php代码限制国内IP访问我们网站
Sep 26 PHP
php连接mysql数据库最简单的实现方法
Sep 24 PHP
PHP+MySql实现一个简单的留言板
Jul 19 PHP
PHP CURL获取返回值的方法
May 04 #PHP
PHP判断远程图片是否存在的几种方法
May 04 #PHP
一个PHP的ZIP压缩类分享
May 04 #PHP
PHP生成自定义长度随机字符串的函数分享
May 04 #PHP
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
May 04 #PHP
PHP中使用FFMPEG获取视频缩略图和视频总时长实例
May 04 #PHP
PHP错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法
May 04 #PHP
You might like
php+mysql实现无限级分类 | 树型显示分类关系
2006/11/19 PHP
php多次include后导致全局变量global失效的解决方法
2015/02/28 PHP
thinkphp5框架扩展redis类方法示例
2019/05/06 PHP
Aster vs KG BO3 第一场2.19
2021/03/10 DOTA
网页右侧悬浮滚动在线qq客服代码示例
2014/04/28 Javascript
搭建pomelo 开发环境
2014/06/24 Javascript
javascript继承的六大模式小结
2015/04/13 Javascript
jQuery仿天猫实现超炫的加入购物车
2015/05/04 Javascript
Nodejs的express使用教程
2015/11/23 NodeJs
数据结构中的各种排序方法小结(JS实现)
2016/07/23 Javascript
值得分享的JavaScript实现图片轮播组件
2016/11/21 Javascript
jQuery实现 RadioButton做必选校验功能
2017/06/15 jQuery
JS实现字符串中去除指定子字符串方法分析
2018/05/17 Javascript
JS 音频可视化插件Wavesurfer.js的使用教程
2018/10/31 Javascript
原生js实现trigger方法示例代码
2019/05/22 Javascript
vue中英文切换实例代码
2020/01/21 Javascript
DWR内存兼容及无法调用问题解决方案
2020/10/16 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
2020/12/04 Vue.js
Python验证码识别处理实例
2015/12/28 Python
Python 探针的实现原理
2016/04/23 Python
讲解Python3中NumPy数组寻找特定元素下标的两种方法
2019/08/04 Python
python中time tzset()函数实例用法
2021/02/18 Python
美国宠物美容和宠物用品购物网站:Cherrybrook
2018/12/07 全球购物
Net Remoting把服务器端激活两种模式
2014/01/22 面试题
利用promise及参数解构封装ajax请求的方法
2021/03/24 Javascript
品质主管的岗位职责
2013/12/04 职场文书
企业总经理职责
2014/02/02 职场文书
店面销售职位的职责
2014/03/09 职场文书
毕业寄语大全
2014/04/09 职场文书
学生会宣传部部长竞选演讲稿
2014/04/25 职场文书
2014年大学生社会实践自我鉴定
2014/09/26 职场文书
担保贷款承诺书
2015/04/30 职场文书
2015年学校远程教育工作总结
2015/07/20 职场文书
2016高三毕业赠言寄语
2015/12/04 职场文书
2016年第十九届推普周活动总结
2016/04/06 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书