PHP获取CentOS服务状态,简单linux下php获取服务器状态代码
简单的linux下的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);
}
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
PHP获取CentOS服务状态,简单linux下php获取服务器状态代码相关推荐
- arm linux 时间获取,菜鸟自学ARM:linux下编程获取系统时间和设置时间
获取时间有几种编程方法: 1 #include #include main(){ time_t t; struct tm *p; time(&t); p=gmtime(&t); pri ...
- linux 进程 状态 ri,LINUX下解决netstat查看TIME_WAIT状态过多问题(转)
# netstat -an|awk '/tcp/ {print $6}'|sort|uniq -c 16 CLOSING 130 ESTABLISHED 298 FIN_WAIT1 13 FIN_WA ...
- linux下如何获取cpu的利用率
"proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文件系统的方式为访问系统内核数据的操作提供接口.用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些 ...
- linux dns服务无效,Linux下搭建DNS服务器及踩坑
DNS服务 域名系统(DNS)是建立在分布式数据库上的分层命名系统.该系统将域名转换为IP地址,并可以将域名分配给Internet组资源和用户,无论实体的物理位置如何. 说白了就是:域名与IP之间的相 ...
- 一份简单的在 Linux下编译及调试 C 代码的指南
摘要: 一份简单的在 Linux下编译及调试 C 代码的指南 对于Linux下的C程序员来说,几乎天天都会和Linux打交道.但在很多人的眼中,Linux是一个易用性极差.靠命令驱动的操作系统,根本无 ...
- 怎么用Linux命令查看BIOS信息,LINUX下怎样获取主板的信息用到什么命令
在Linux系统中,我们常常需要使用命令来实现各种操作,比如从系统中获取主板信息参数,很多用户都不太清楚,本文教给大家在LINUX下怎样获取主板的信息. 方法步骤 dmidecode取出的信息可能不是 ...
- Linux下Wget获取云盘资源
Linux下Wget获取云盘资源 使用linux过程中,经常使用云盘的我们往往需要下载云盘资源,但是在firefox页面下载往往已失败告终,怎么办呢?这里引入了firefox插件flashgot,通过 ...
- linux远程获取文件,Linux下实现获取远程机器文件
创建公钥秘钥实现无密码登录后即可获取到文件内容了!! A:xxx.xxx.6.xxx B:xxx.xxx.xxx.x 一.创建 A机器 ssh-keygen -t rsa 二.拷贝--将生成的公钥复制 ...
- java 获取linux主机名,linux下java获取hostname
linux下java获取hostname [2021-01-29 19:46:41] 简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace( ...
最新文章
- 腾讯AI Lab负责人张潼离职,张正友或接替其位
- MS讲座:可视化的软件架构设计和Portal Starter Kit挖宝记
- Chapter 1 First Sight——25
- 线性表之--队列操作
- Python批量爬取名字中带有中文的pdf文件
- JavaScript学习总结(4)——JavaScript数组
- 微信昵称上标电话号码,实用的新玩法
- 微鲸科大讯飞、出门问问合作 TA的语音功能怎么样?
- 支持下一代分布式应用链开发的区块链服务互联网
- 听NBA现场讲解很爽,但啥都听不懂?快来学学术语!
- C语言程序设计精髓--第3周编程题在线测试
- unity 报错 Some objects were not cleaned up when closing the scene. 原因与方案
- 总结一下2010--2011初看的书
- 免流服务器系统怎么选,免流云服务器选
- 【Qt开发】QThread中的互斥、读写锁、信号量、条件变量
- 联想win10进bios的正确方式,并不是按键!!!!!
- 如何解决C++编译错误C2280尝试引用已删除的函数【每天一个小技巧】
- 一款性能足够的4.5寸以下的手机
- SpringBoot(三):Lombok
- 创建一个SpringBoot工程