php获取linux服务器状态的代码的解决办法
内容摘要
这篇文章主要为大家详细介绍了php获取linux服务器状态的代码的简单示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随php教程的小玲来看看吧!
简单的ph
感兴趣的小伙伴,下面一起跟随php教程的小玲来看看吧!
简单的ph
文章正文
这篇文章主要为大家详细介绍了php获取linux服务器状态的代码的简单示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随php教程的小玲来看看吧!
简单的php获取linux服务器状态的代码,不多说-直接上函数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | <code class = "language-php" > 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 ); }</code> |
注:关于php获取linux服务器状态的代码的简单示例的内容就先介绍到这里,更多相关文章的可以留意
代码注释