分享一段php获取linux服务器状态的代码


Posted in PHP onMay 27, 2014

简单的php获取linux服务器状态的代码,不多说-直接上函数:

function get_used_status(){
  $fp = popen('top -b -n 2 | grep -E "^(Cpu|Mem|Tasks)"',"r");//获取某一时刻系统cpu和内存使用情况
  $rs = "";
  while(!feof($fp)){
   $rs .= fread($fp,1024);
  }
  pclose($fp);
  $sys_info = explode("\n",$rs);
  $tast_info = explode(",",$sys_info[3]);//进程 数组
  $cpu_info = explode(",",$sys_info[4]);  //CPU占有量  数组
  $mem_info = explode(",",$sys_info[5]); //内存占有量 数组
  //正在运行的进程数
  $tast_running = trim(trim($tast_info[1],'running'));
  //CPU占有量
  $cpu_usage = trim(trim($cpu_info[0],'Cpu(s): '),'%us');  //百分比
  //内存占有量
  $mem_total = trim(trim($mem_info[0],'Mem: '),'k total'); 
  $mem_used = trim($mem_info[1],'k used');
  $mem_usage = round(100*intval($mem_used)/intval($mem_total),2);  //百分比
  
  /*硬盘使用率 begin*/
  $fp = popen('df -lh | grep -E "^(/)"',"r");
  $rs = fread($fp,1024);
  pclose($fp);
  $rs = preg_replace("/\s{2,}/",' ',$rs);  //把多个空格换成 “_”
  $hd = explode(" ",$rs);
  $hd_avail = trim($hd[3],'G'); //磁盘可用空间大小 单位G
  $hd_usage = trim($hd[4],'%'); //挂载点 百分比
  //print_r($hd);
  /*硬盘使用率 end*/  
  //检测时间
  $fp = popen("date +\"%Y-%m-%d %H:%M\"","r");
  $rs = fread($fp,1024);
  pclose($fp);
  $detection_time = trim($rs);
  /*获取IP地址  begin*/
  /*
  $fp = popen('ifconfig eth0 | grep -E "(inet addr)"','r');
  $rs = fread($fp,1024);
  pclose($fp);
  $rs = preg_replace("/\s{2,}/",' ',trim($rs));  //把多个空格换成 “_”
  $rs = explode(" ",$rs);
  $ip = trim($rs[1],'addr:');
  */
  /*获取IP地址 end*/
  /*
  $file_name = "/tmp/data.txt"; // 绝对路径: homedata.dat 
  $file_pointer = fopen($file_name, "a+"); // "w"是一种模式,详见后面
  fwrite($file_pointer,$ip); // 先把文件剪切为0字节大小, 然后写入
  fclose($file_pointer); // 结束
  */
  return  array('cpu_usage'=>$cpu_usage,'mem_usage'=>$mem_usage,'hd_avail'=>$hd_avail,'hd_usage'=>$hd_usage,'tast_running'=>$tast_running,'detection_time'=>$detection_time);
 }
PHP 相关文章推荐
php程序之die调试法 快速解决错误
Sep 17 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
May 26 PHP
php安全之直接用$获取值而不$_GET 字符转义
Jun 03 PHP
在windows服务器开启php的gd库phpinfo中未发现
Jan 13 PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
Mar 12 PHP
CI(CodeIgniter)框架介绍
Jun 09 PHP
PHP session文件独占锁引起阻塞问题解决方法
May 12 PHP
PHP使用逆波兰式计算工资的方法
Jul 29 PHP
CodeIgniter钩子用法实例详解
Jan 20 PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
Jul 02 PHP
php cookie工作原理与实例详解
Jul 18 PHP
layui数据表格自定义每页条数limit设置
Oct 26 PHP
教你如何快捷的使用cmd访问mysql小技巧
May 26 #PHP
将二维数组转为一维数组的2种方法
May 26 #PHP
windwos下使用php连接oracle数据库的过程分享
May 26 #PHP
查找php配置文件php.ini所在路径的二种方法
May 26 #PHP
php5.2以下版本无json_decode函数的解决方法
May 25 #PHP
模板引擎smarty工作原理以及使用示例
May 25 #PHP
浅析php中json_encode()和json_decode()
May 25 #PHP
You might like
40年前的这部特摄片恐龙特级克塞号80后的共同回忆
2020/03/08 日漫
phpmyadmin中禁止外网使用的方法
2014/11/04 PHP
thinkphp5框架API token身份验证功能示例
2019/05/21 PHP
javascript 写类方式之五
2009/07/05 Javascript
jQuery的一些特性和用法整理小结
2010/01/13 Javascript
jQuery学习笔记之DOM对象和jQuery对象
2010/12/22 Javascript
Jquery 模板数据绑定插件的使用方法详解
2013/07/08 Javascript
浅谈JavaScript中的String对象常用方法
2015/02/25 Javascript
JavaScript中string对象
2015/06/12 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
js面向对象实现canvas制作彩虹球喷枪效果
2016/09/24 Javascript
详解JSON1:使用TSQL查询数据和更新JSON数据
2016/11/21 Javascript
xmlplus组件设计系列之树(Tree)(9)
2017/05/02 Javascript
简单实现vue验证码60秒倒计时功能
2017/10/11 Javascript
vue的toast弹窗组件实例详解
2018/05/14 Javascript
vue.extend与vue.component的区别和联系
2018/09/19 Javascript
vue调试工具vue-devtools安装及使用方法
2018/11/07 Javascript
Javascript 对象(object)合并操作实例分析
2019/07/30 Javascript
jqGrid表格底部汇总、合计行footerrow处理
2019/08/21 Javascript
JavaScript用document.write()输出换行的示例代码
2020/11/26 Javascript
[32:17]完美世界DOTA2联赛循环赛LBZS vs Forest第二场 10月30日
2020/10/31 DOTA
Python内置的字符串处理函数详细整理(覆盖日常所用)
2014/08/19 Python
python uuid模块使用实例
2015/04/08 Python
PyCharm的设置方法和第一个Python程序的建立
2019/01/16 Python
在numpy矩阵中令小于0的元素改为0的实例
2019/01/26 Python
python读取ini配置的类封装代码实例
2020/01/08 Python
Python 日期的转换及计算的具体使用详解
2020/01/16 Python
CSS3 media queries + jQuery实现响应式导航
2016/09/30 HTML / CSS
Java面试题:为什么要用Java
2012/05/11 面试题
销售员自我评价怎么写
2013/09/19 职场文书
机械工程系毕业生求职信
2013/09/27 职场文书
秋季校运动会广播稿
2014/02/23 职场文书
2014党员干部四风问题对照检查材料思想汇报
2014/09/24 职场文书
餐厅如何利用“营销策略”扭转亏本局面
2019/10/15 职场文书
python字典进行运算原理及实例分享
2021/08/02 Python
Python 视频画质增强
2022/04/28 Python