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 jquery 实现新闻标签分类与无刷新分页
Dec 18 PHP
php中自定义函数dump查看数组信息类似var_dump
Jan 27 PHP
php和jquery实现地图区域数据统计展示数据示例
Feb 12 PHP
PHP利用APC模块实现文件上传进度条的方法
Jan 26 PHP
PHP版本升级到7.x后wordpress的一些修改及wordpress技巧
Dec 25 PHP
thinkPHP简单遍历数组方法分析
May 16 PHP
功能强大的PHP POST提交数据类
Jul 15 PHP
PHP中Notice错误常见解决方法
Apr 28 PHP
Thinkphp 空操作、空控制器、命名空间(详解)
May 05 PHP
PHP ADODB生成下拉列表框功能示例
May 29 PHP
PHP cookie与session会话基本用法实例分析
Nov 18 PHP
php 使用expat方式解析xml文件操作示例
Nov 26 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新手上路(三)
2006/10/09 PHP
ajax缓存问题解决途径
2006/12/06 PHP
PHP 万年历实现代码
2012/10/18 PHP
ThinkPHP表单令牌错误的相关解决方法分析
2016/05/20 PHP
详解PHP序列化和反序列化原理
2018/01/15 PHP
PDO::prepare讲解
2019/01/29 PHP
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
2009/10/11 Javascript
JavaScript 数组循环引起的思考
2010/01/01 Javascript
jQuery 获取对象 定位子对象
2010/05/31 Javascript
基于jquery实现的一个选择中国大学的弹框 (数据、步骤、代码)
2012/07/26 Javascript
javascript中数组的concat()方法使用介绍
2013/12/18 Javascript
使用AJAX实现Web页面进度条的实例分享
2016/05/06 Javascript
简单实现IONIC购物车功能
2017/01/10 Javascript
jQuery选择器之子元素选择器详解
2017/09/18 jQuery
JS实现读取xml内容并输出到div中的方法示例
2018/04/19 Javascript
JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结
2019/06/27 Javascript
ant design vue datepicker日期选择器中文化操作
2020/10/28 Javascript
[01:33:25]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第一场 1月24日
2021/03/11 DOTA
python读文件逐行处理的示例代码分享
2013/12/27 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/27 Python
python斐波那契数列的计算方法
2018/09/27 Python
详解django自定义中间件处理
2018/11/21 Python
Python3.5面向对象编程图文与实例详解
2019/04/24 Python
python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例
2020/04/02 Python
HTML+CSS+JavaScript实现图片3D展览的示例代码
2020/10/12 HTML / CSS
Abe’s of Maine:自1979以来销售相机和电子产品
2016/11/21 全球购物
名词解释WEB SERVICE,SOAP,UDDI,WSDL,JAXP,JAXM;JSWDL开发包的介绍。
2012/10/27 面试题
什么是GWT的Module
2013/01/20 面试题
如何通过 CSS 写出火焰效果
2021/03/24 HTML / CSS
《狐假虎威》教学反思
2014/02/07 职场文书
中学生自我评价范文
2014/02/08 职场文书
南京市纪委监察局整改方案
2014/09/16 职场文书
教师听课评语大全
2014/12/31 职场文书
英文版辞职信
2015/02/28 职场文书
MySQL 5.7常见数据类型
2021/07/15 MySQL
Mysql使用全文索引(FullText index)的实例代码
2022/04/03 MySQL