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中的串行化变量和序列化对象
Sep 05 PHP
php Mysql日期和时间函数集合
Nov 16 PHP
php下将XML转换为数组
Jan 01 PHP
通用PHP动态生成静态HTML网页的代码
Mar 04 PHP
php删除文件夹及其文件夹下所有文件的函数代码
Jan 23 PHP
深入理解curl类,可用于模拟get,post和curl下载
Jun 08 PHP
php 根据url自动生成缩略图并处理高并发问题
Jan 23 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
Jun 13 PHP
PHP缓存工具XCache安装与使用方法详解
Apr 09 PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
May 23 PHP
php抽象类和接口知识点整理总结
Aug 02 PHP
Laravel解决nesting level错误和隐藏index.php的问题
Oct 12 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
如何选购合适的收音机
2021/03/01 无线电
phpmyadmin里面导入sql语句格式的大量数据的方法
2010/06/05 PHP
php错误、异常处理机制(补充)
2012/05/07 PHP
PHP中使用虚代理实现延迟加载技术
2014/11/05 PHP
详解PHP的Yii框架中自带的前端资源包的使用
2016/03/31 PHP
PHP之图片上传类实例代码(加了缩略图)
2016/06/30 PHP
PHP单态模式简单用法示例
2016/11/16 PHP
php中各种定义变量的方法小结
2017/10/18 PHP
PHP简单实现二维数组的矩阵转置操作示例
2017/11/24 PHP
详解CSS样式中的 !important * _ 符号
2021/03/09 HTML / CSS
ie6下png图片背景不透明的解决办法使用js实现
2013/01/11 Javascript
JavaScript三元运算符的多种使用技巧
2015/04/16 Javascript
基于vue2.0+vuex+localStorage开发的本地记事本示例
2017/02/28 Javascript
微信小程序定位当前城市的方法
2018/07/19 Javascript
Nodejs中怎么实现函数的串行执行
2019/03/02 NodeJs
vue2.0自定义指令示例代码详解
2019/04/25 Javascript
vue弹出框组件封装实例代码
2019/10/31 Javascript
vue2.0 解决抽取公用js的问题
2020/07/31 Javascript
原生JS实现多条件筛选
2020/08/19 Javascript
python对指定目录下文件进行批量重命名的方法
2015/04/18 Python
深入讲解Python编程中的字符串
2015/10/14 Python
python 通过 socket 发送文件的实例代码
2018/08/14 Python
Python发展史及网络爬虫
2019/06/19 Python
导致python中import错误的原因是什么
2020/07/01 Python
使用py-spy解决scrapy卡死的问题方法
2020/09/29 Python
印度和世界各地的精美产品:Ikka Dukka
2018/02/12 全球购物
洲际酒店集团英国官网:IHG英国
2019/07/10 全球购物
应届生求职信写作技巧
2013/10/24 职场文书
员工晚婚的请假条
2014/02/08 职场文书
领导干部考察材料
2014/02/08 职场文书
幼儿园植树节活动总结
2014/07/04 职场文书
个人四风问题对照检查材料
2014/10/01 职场文书
喝酒驾驶检讨书
2014/10/01 职场文书
2014红色之旅心得体会
2014/10/07 职场文书
Feign调用全局异常处理解决方案
2021/06/24 Java/Android
搞笑Gif:这么白这么长的腿像极了一楼的女朋友
2022/03/21 杂记