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防攻击代码升级版
Dec 29 PHP
php 数据库字段复用的基本原理与示例
Jul 22 PHP
php4与php5的区别小结(配置异同)
Dec 20 PHP
有关PHP中MVC的开发经验分享
May 17 PHP
CI框架中数据库操作函数$this-&gt;db-&gt;where()相关用法总结
May 17 PHP
详解WordPress中添加友情链接的方法
May 21 PHP
PHP实现截取中文字符串不出现?号的解决方法
Dec 29 PHP
PHP中CheckBox多选框上传失败的代码写法
Feb 13 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
May 20 PHP
PHP实现阿里大鱼短信验证的实例代码
Jul 10 PHP
Laravel源码解析之路由的使用和示例详解
Sep 27 PHP
Laravel 中使用简单的方法跟踪用户是否在线(推荐)
Oct 30 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生成带logo二维码方法小结
2016/04/08 PHP
CI框架实现优化文件上传及多文件上传的方法
2017/01/04 PHP
PHP token验证生成原理实例分析
2019/06/05 PHP
js类的静态属性和实例属性的理解
2009/10/01 Javascript
Jquery知识点一 Jquery的ready和Dom的onload的区别
2011/01/15 Javascript
Js实现滚动变色的文字效果
2014/06/16 Javascript
jQuery oLoader实现的加载图片和页面效果
2015/03/14 Javascript
JavaScript多线程详解
2015/08/12 Javascript
JS实现仿腾讯微博无刷新删除微博效果代码
2015/10/16 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
jquery获取复选框checkbox的值实现方法
2016/05/30 Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
2017/01/14 Javascript
vue实现简单实时汇率计算功能
2017/01/15 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
vue实现文章内容过长点击阅读全文功能的实例
2017/12/28 Javascript
深入剖析Express cookie-parser中间件实现示例
2018/02/01 Javascript
koa上传excel文件并解析的实现方法
2018/08/09 Javascript
详解Vue基于vue-quill-editor富文本编辑器使用心得
2019/01/03 Javascript
vue.js仿hover效果的实现方法示例
2019/01/28 Javascript
多版本Python共存的配置方法
2017/05/22 Python
python删除不需要的python文件方法
2018/04/24 Python
python查看模块安装位置的方法
2018/10/16 Python
在python 中实现运行多条shell命令
2019/01/07 Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
2020/02/28 Python
Python读取Excel一列并计算所有对象出现次数的方法
2020/09/04 Python
Python制作简单的剪刀石头布游戏
2020/12/10 Python
韩国三星集团旗下时尚品牌官网:SSF SHOP
2016/08/02 全球购物
网络体系结构及协议的定义
2014/03/13 面试题
如何唤起类中的一个方法
2013/11/29 面试题
应届大学生自荐信格式
2013/09/21 职场文书
高中生活自我鉴定
2014/01/18 职场文书
护士求职自荐信范文
2014/03/19 职场文书
四查四看自我剖析材料
2014/09/19 职场文书
房产公证委托书范本
2014/09/20 职场文书
600字作文之感受大自然
2019/11/27 职场文书
Python中第三方库Faker的使用详解
2022/04/02 Python