Php 循环外的函数不更新
我试图做一个循环,根据平均负载和CPU/内存等显示一些条件。然而,它似乎只为整个循环提取一次使用信息。我希望它能在每个循环中更新它:这是我得到的,在此方面的任何帮助都是非常感谢的Php 循环外的函数不更新,php,function,loops,while-loop,Php,Function,Loops,While Loop,我试图做一个循环,根据平均负载和CPU/内存等显示一些条件。然而,它似乎只为整个循环提取一次使用信息。我希望它能在每个循环中更新它:这是我得到的,在此方面的任何帮助都是非常感谢的 <?php exec("cat /proc/cpuinfo | grep processor | wc -l",$processors); $totalc=$processors[0]; function sys_getloadavg_hack() { $str = substr(strrchr(sh
<?php
exec("cat /proc/cpuinfo | grep processor | wc -l",$processors);
$totalc=$processors[0];
function sys_getloadavg_hack()
{
$str = substr(strrchr(shell_exec("uptime"),":"),1);
$avs = array_map("trim",explode(",",$str));
return $avs;
}
$load = sys_getloadavg_hack();
function get_memory() {
foreach(file('/proc/meminfo') as $ri)
$m[strtok($ri, ':')] = strtok('');
return 100 - round(($m['MemFree'] + $m['Buffers'] + $m['Cached']) / $m['MemTotal'] * 100);
}
function print_exec(){
$out_arr=array();
$last_line=exec("mpstat",$out_arr);
return $last_line;
}
for ($i=1; $i<=50; $i++)
{
$memory = get_memory();
$cpu = substr(print_exec(),-5);
if($memory>"10" && $cpu>"10" && $load[0]<$totalc) {
echo "Everything is good!";
} else {
}
echo "Memory: $memory || CPU: $cpu || Load AVG: $load[0] || #CPU's: $totalc<br> || #Runtime: $i\n\n";
usleep(800000);
}
?>
您必须在每个循环中进行所有计算。
例如:在循环之前只调用一次sys\u getloadavg\u hack()
尝试在for循环中添加sys\u getloadavg\u hack()调用
for(...)
{
$load = sys_getloadavg_hack();
...
}
您必须在每个循环中进行所有计算。
例如:在循环之前只调用一次sys\u getloadavg\u hack()
尝试在for循环中添加sys\u getloadavg\u hack()调用
for(...)
{
$load = sys_getloadavg_hack();
...
}