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 similar_text 字符串的相似性比较函数
May 26 PHP
PHP仿博客园 个人博客(2) 数据库增添改删
Jul 05 PHP
php实现使用正则将文本中的网址转换成链接标签
Dec 03 PHP
php制作动态随机验证码
Feb 12 PHP
PHP+Mysql基于事务处理实现转账功能的方法
Jul 08 PHP
thinkPHP使用post方式查询时分页失效的解决方法
Dec 09 PHP
解析WordPress中函数钩子hook的作用及基本用法
Dec 22 PHP
php实现学生管理系统
Mar 21 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
Feb 07 PHP
在laravel中实现事务回滚的方法
Oct 10 PHP
PHP手机号码及邮箱正则表达式实例解析
Jul 11 PHP
Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
Oct 20 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数据浏览器
2007/03/11 PHP
php的一个登录的类 [推荐]
2007/03/16 PHP
坏狼的PHP学习教程之第2天
2008/06/15 PHP
php 需要掌握的东西 不做浮躁的人
2009/12/28 PHP
php实现简单洗牌算法
2013/06/18 PHP
php使用curl发送json格式数据实例
2013/12/17 PHP
js 调整select 位置的函数
2008/02/21 Javascript
juqery 学习之五 文档处理 插入
2011/02/11 Javascript
Jquery对数组的操作技巧整理
2014/03/25 Javascript
JavaScript正则表达式的分组匹配详解
2016/02/13 Javascript
jquery层级选择器的实现(匹配后代元素div)
2016/09/05 Javascript
Vue.js实现表格动态增加删除的方法(附源码下载)
2017/01/20 Javascript
教你5分钟学会用requirejs(必看篇)
2017/07/25 Javascript
Angular指令之restict匹配模式的详解
2017/07/27 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
Vue SPA单页应用首屏优化实践
2018/06/28 Javascript
iconfont的三种使用方式详解
2018/08/05 Javascript
浅谈VUE单页应用首屏加载速度优化方案
2018/08/28 Javascript
node之本地服务器图片上传的方法示例
2019/03/26 Javascript
Django Admin实现上传图片校验功能
2016/03/06 Python
Python科学画图代码分享
2017/11/29 Python
Django中reverse反转并且传递参数的方法
2019/08/06 Python
python爬虫爬取幽默笑话网站
2019/10/24 Python
python爬虫构建代理ip池抓取数据库的示例代码
2020/09/22 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
CSS3中的opacity属性使用教程
2015/08/19 HTML / CSS
详解HTML5 录音的踩坑之旅
2017/12/26 HTML / CSS
大学新生军训自我鉴定范文
2014/09/13 职场文书
业务员辞职信范文
2015/03/02 职场文书
升职自荐信怎么写
2015/03/05 职场文书
法学专业求职信范文
2015/03/19 职场文书
酒店前台接待岗位职责
2015/04/02 职场文书
降价通知函
2015/04/23 职场文书
部门2015年度工作总结
2015/04/29 职场文书
2015年生产部工作总结范文
2015/05/25 职场文书
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js