通过PHP实现远程变量(网络使用、处理器负载、开放进程等)
我运行一个php服务器,我想开发一个php脚本,当用户调用该脚本时,它会从服务器回显网络使用情况、处理器负载、开放进程等。这是可能的吗?您可以使用,在其中可以运行sys命令,并将输出作为字符串返回(您可以在其中进行解析) 例如:通过PHP实现远程变量(网络使用、处理器负载、开放进程等),php,html,remote-access,Php,Html,Remote Access,我运行一个php服务器,我想开发一个php脚本,当用户调用该脚本时,它会从服务器回显网络使用情况、处理器负载、开放进程等。这是可能的吗?您可以使用,在其中可以运行sys命令,并将输出作为字符串返回(您可以在其中进行解析) 例如: <?php $output = array(); exec("ps" , $output); var_dump($output); ?> 我在周末从/proc/文件系统中读到了一些东西,这些东西可能比通过exec()进行分叉更轻,尽管它的可移植性也可
<?php
$output = array();
exec("ps" , $output);
var_dump($output);
?>
我在周末从
/proc/
文件系统中读到了一些东西,这些东西可能比通过exec()
进行分叉更轻,尽管它的可移植性也可能更低
function getMem() {
$mem = '';
if($r = @file_get_contents('/proc/meminfo')) {
$dat = array();
foreach(explode("\n", $r) as $line) {
if(preg_match('/^([^:]+):[ ]+([0-9]+.*)$/', $line, $matches))
$dat[$matches[1]] = $matches[2];
}
$free = (int)((@$dat['MemFree'] + @$dat['Cached']) / 1024);
$mem = $free . 'MB / ' . (int)(@$dat['MemTotal'] / 1024) . 'MB';
}
return $mem;
}
function getLoad() {
$load = null;
if($r = @file_get_contents('/proc/loadavg')) {
$l = explode(' ', $r);
$load = implode(' ', array($l[0], $l[1], $l[2]));
}
return $load;
}
任何例子都很好,谢谢!很多此类数据也可以从
/proc/
文件系统中读取。谢谢,现在我知道了,但是我找不到任何DOS命令告诉我进程或打开进程的负载,知道吗?再次感谢!我读过这篇关于通过命令行查找CPU使用情况等的文章。
function getMem() {
$mem = '';
if($r = @file_get_contents('/proc/meminfo')) {
$dat = array();
foreach(explode("\n", $r) as $line) {
if(preg_match('/^([^:]+):[ ]+([0-9]+.*)$/', $line, $matches))
$dat[$matches[1]] = $matches[2];
}
$free = (int)((@$dat['MemFree'] + @$dat['Cached']) / 1024);
$mem = $free . 'MB / ' . (int)(@$dat['MemTotal'] / 1024) . 'MB';
}
return $mem;
}
function getLoad() {
$load = null;
if($r = @file_get_contents('/proc/loadavg')) {
$l = explode(' ', $r);
$load = implode(' ', array($l[0], $l[1], $l[2]));
}
return $load;
}