Home > Article > Backend Development > Simple php under linux to get the server status code_PHP tutorial
Simple PHP code under Linux to get the server status, not much to say - just go to the function:
function get_used_status(){
$fp = popen('top -b -n 2 | grep -E "^(Cpu|Mem|Tasks)"',"r");//Get a certain moment System cpu and memory usage
$rs = "";
while(!feof($fp)){
$rs .= fread($fp,1024);
}
pclose($fp);
$sys_info = explode("n",$rs);
$tast_info = explode(",",$sys_info[3]);//Process array
$cpu_info = explode(",",$sys_info[4]); //CPU occupancy array
$mem_info = explode(",",$sys_info[5]); //Memory occupancy array
//Number of running processes
$tast_running = trim(trim($tast_info[1],'running'));
//CPU usage
$cpu_usage = trim(trim( $cpu_info[0],'Cpu(s): '),'%us'); //Percent
//Memory usage
$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); //Percentage
/*Hard disk usage begin*/
$fp = popen('df -lh | grep -E "^(/)"',"r");
$rs = fread($fp,1024) ;
pclose($fp);
$rs = preg_replace("/s{2,}/",' ',$rs); //Replace multiple spaces with "_"
$ hd = explode(" ",$rs);
$hd_avail = trim($hd[3],'G'); //Disk available space size unit G
$hd_usage = trim($hd[4 ],'%'); //Mount point percentage
//print_r($hd);
/*Hard disk usage end*/
//Detection time
$fp = popen("date +"%Y-%m-%d %H:%M"","r");
$rs = fread($fp,1024);
pclose($fp) ;
$detection_time = trim($rs);
/*Get IP address begin*/
/*
$fp = popen('ifconfig eth0 | grep -E "(inet addr)"','r');
$rs = fread($fp,1024);
pclose($fp);
$rs = preg_replace("/s{2,}/" ,' ',trim($rs)); //Replace multiple spaces with "_"
$rs = explode(" ",$rs);
$ip = trim($rs[1] ,'addr:');
*/
/*Get IP addressend*/
/*
$file_name = "/tmp/data.txt"; // Absolute path: homedata. dat
$file_pointer = fopen($file_name, "a+"); // "w" is a mode, see below for details
fwrite($file_pointer,$ip); // First cut the file into 0 byte size, then write
fclose($file_pointer); // End
*/
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);
}