Home >Backend Development >PHP Tutorial >Share a piece of php code to get the status of the linux server_PHP tutorial
Simple PHP code to get the Linux server status, not much to say - just go to the function:
$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 put the file Cut to 0 bytes, 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);
}