ďťż
Podstrony
|
telcocafeWitam,Mam problem, a właściwie pytanie. Chcę, aby skrypt PHP pobierał poleceniem 'top' obciążenie procesorów przez procesy, dodawał je [obciążenie], a następnie wysypywał wynik w jednej liczbie (od 0 do 100 %). Jak narazie udało mi się napisać "skrypt", który wyświetla obciążenie każdego procesu z osobna. <?php $top = `top -b -n 1 | awk {'print $9'}`; echo $top; ?> Teraz pytanie: Jak mam dodać wartości wyświetlone w zmiennej $top? Użytkownik CJg edytował ten post 15 sierpień 2008, 22:36 Jeżeli każdego procesu z osobna, to zakładam, że zmienna $top przechowuje liczbę. A skoro tak, to na logikę, można użyć takiego matematycznego znaku, jakim jest plus i dodać wszystko, co pobierzesz. Heh, u mnie wynik top -bn 1 | awk {'print $9'} jest taki: load stopped, 0.0%st buffers cached %CPU 9.9 2.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 [...] 0.0 Także trzeba by każdą linię parsować, czy pasuje do wzorca ^\d+\.\d+$ Jeśli tak, to trzeba daną wartość dodać np. do zmiennej $obciazenie. Ot, cała logika ;) <?php $wyk = "top -b -n 1 | awk {'print $9'}"; ob_start();system($wyk);$wynik = ob_get_contents();ob_end_clean(); $wynik = explode("%CPU", $wynik); $obc = 0; foreach(explode("\n", $wynik[1]) as $proc) { $obc += $proc; } echo $obc.'%'; ?> np tak ? ;d |
|||
Sitedesign by AltusUmbrae. |