溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

php怎么獲取linux服務(wù)器狀態(tài)

發(fā)布時(shí)間:2021-07-27 22:26:10 來(lái)源:億速云 閱讀:91 作者:chen 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要講解了“php怎么獲取linux服務(wù)器狀態(tài)”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“php怎么獲取linux服務(wù)器狀態(tài)”吧!

簡(jiǎn)單的php獲取linux服務(wù)器狀態(tài)的代碼,不多說(shuō)-直接上函數(shù):

復(fù)制代碼 代碼如下:


function get_used_status(){
  $fp = popen('top -b -n 2 | grep -E "^(Cpu|Mem|Tasks)"',"r");//獲取某一時(shí)刻系統(tǒng)cpu和內(nèi)存使用情況
  $rs = "";
  while(!feof($fp)){
   $rs .= fread($fp,1024);
  }
  pclose($fp);
  $sys_info = explode("\n",$rs);

  $tast_info = explode(",",$sys_info[3]);//進(jìn)程 數(shù)組
  $cpu_info = explode(",",$sys_info[4]);  //CPU占有量  數(shù)組
  $mem_info = explode(",",$sys_info[5]); //內(nèi)存占有量 數(shù)組

  //正在運(yùn)行的進(jìn)程數(shù)
  $tast_running = trim(trim($tast_info[1],'running'));
  //CPU占有量
  $cpu_usage = trim(trim($cpu_info[0],'Cpu(s): '),'%us');  //百分比

  //內(nèi)存占有量
  $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);  //百分比
 

  /*硬盤(pán)使用率 begin*/
  $fp = popen('df -lh | grep -E "^(/)"',"r");
  $rs = fread($fp,1024);
  pclose($fp);
  $rs = preg_replace("/\s{2,}/",' ',$rs);  //把多個(gè)空格換成 “_”
  $hd = explode(" ",$rs);
  $hd_avail = trim($hd[3],'G'); //磁盤(pán)可用空間大小 單位G
  $hd_usage = trim($hd[4],'%'); //掛載點(diǎn) 百分比
  //print_r($hd);
  /*硬盤(pán)使用率 end*/ 

  //檢測(cè)時(shí)間
  $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));  //把多個(gè)空格換成 “_”
  $rs = explode(" ",$rs);
  $ip = trim($rs[1],'addr:');
  */
  /*獲取IP地址 end*/
  /*
  $file_name = "/tmp/data.txt"; // 絕對(duì)路徑: homedata.dat
  $file_pointer = fopen($file_name, "a+"); // "w"是一種模式,詳見(jiàn)后面
  fwrite($file_pointer,$ip); // 先把文件剪切為0字節(jié)大小, 然后寫(xiě)入
  fclose($file_pointer); // 結(jié)束
  */

  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怎么獲取linux服務(wù)器狀態(tài)”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)php怎么獲取linux服務(wù)器狀態(tài)這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI