php FreeBSD系统探测程序_PHP教程

php中文网
发布: 2016-07-13 10:58:17
原创
1221人浏览过

豆包AI编程
豆包AI编程

豆包推出的AI编程助手

豆包AI编程 483
查看详情 豆包AI编程

function sys_freebsd() {
 //CPU
 if (false === ($res['cpu']['num'] = get_key("hw.ncpu"))) return false;
 $res['cpu']['model'] = get_key("hw.model");

 //LOAD AVG
 if (false === ($res['loadAvg'] = get_key("vm.loadavg"))) return false;

 //UPTIME
 if (false === ($buf = get_key("kern.boottime"))) return false;
 $buf = explode(' ', $buf);
 $sys_ticks = time() - intval($buf[3]);
 $min = $sys_ticks / 60;
 $hours = $min / 60;
 $days = floor($hours / 24);
 $hours = floor($hours - ($days * 24));
 $min = floor($min - ($days * 60 * 24) - ($hours * 60));
 if ($days !== 0) $res['uptime'] = $days."天";
 if ($hours !== 0) $res['uptime'] .= $hours."小时";
 $res['uptime'] .= $min."分钟";

 //MEMORY
 if (false === ($buf = get_key("hw.physmem"))) return false;
 $res['memTotal'] = round($buf/1024/1024, 2);
 $buf = explode("n", do_command("vmstat", ""));
 $buf = explode(" ", trim($buf[2]));

 $res['memFree'] = round($buf[5]/1024, 2);
 $res['memUsed'] = ($res['memTotal']-$res['memFree']);
 $res['memPercent'] = (floatval($res['memTotal'])!=0)?round($res['memUsed']/$res['memTotal']*100,2):0;

 $buf = explode("n", do_command("swapinfo", "-k"));
 $buf = $buf[1];
 preg_match_all("/([0-9]+)s+([0-9]+)s+([0-9]+)/", $buf, $bufArr);
 $res['swapTotal'] = round($bufArr[1][0]/1024, 2);
 $res['swapUsed'] = round($bufArr[2][0]/1024, 2);
 $res['swapFree'] = round($bufArr[3][0]/1024, 2);
 $res['swapPercent'] = (floatval($res['swapTotal'])!=0)?round($res['swapUsed']/$res['swapTotal']*100,2):0;

 return $res;
}

//取得参数值 FreeBSD
function get_key($keyName) {
 return do_command('sysctl', "-n $keyName");
}

//确定执行文件位置 FreeBSD
function find_command($commandName) {
 $path = array('/bin', '/sbin', '/usr/bin', '/usr/sbin', '/usr/local/bin', '/usr/local/sbin');
 foreach($path as $p) {
  if (@is_executable("$p/$commandName")) return "$p/$commandName";
 }
 return false;
}

//执行系统命令 FreeBSD
function do_command($commandName, $args) {
 $buffer = "";
 if (false === ($command = find_command($commandName))) return false;
 if ($fp = @popen("$command $args", 'r')) {
  while (!@feof($fp)){
   $buffer .= @fgets($fp, 4096);
  }
  return trim($buffer);
 }
 return false;
}

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632008.htmlTechArticlefunction sys_freebsd() { //CPU if (false === ($res['cpu']['num'] = get_key(hw.ncpu))) return false; $res['cpu']['model'] = get_key(hw.model); //LOAD AVG if (false === ($res['loadAv...
相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号