systeem gegevens van server met /proc

Status
Niet open voor verdere reacties.

twanbaten

Gebruiker
Lid geworden
22 nov 2007
Berichten
9
Hallo,

Voor school heb ik een opdracht gekregen om een site te maken die de volgende gegevens kan weergeven met php:

a. Het aantal ingelogde gebruikers
b. De huidige systeembelasting
c. De hoeveelheid gebruikt geheugen
d. De vrije opslagruimte
e. Hoe lang het systeem al draait
f. De kernel-versie
g. Lijst van draaiende processen

Dit wordt dan gedaan door de tekstgegevens in de map /proc op de server te gebruiken

A,e en f heb ik al, maar de anderen kom ik niet uit. Iemand een oplossing?
Het zou ook redelijk basic php moeten zijn.

Alvast bedankt!
 
Helpmij is er niet voor je huiswerk, kom dus zelf met zaken die je al uitgeprobeerd hebt of waar je aan denkt.

Dan kunnen we je daar verder mee helpen
 
Helpmij is er niet voor je huiswerk, kom dus zelf met zaken die je al uitgeprobeerd hebt of waar je aan denkt.

Dan kunnen we je daar verder mee helpen

Ik heb zojuist 4 uur gezeten aan een oplossing, vandaar dat ik nu uitwijk naar het forum, maar ik wil best het gepruts dat ik zelf heb geprobeert wel voordragen hoor...

voor bv gebruikte memory heb ik eerst het totale geheugen opgevraagd en ook het vrije geheugen zoals in onderstaande functie. Op deze manier krijg ik een string met de bijbehorende waarde. Maar om dat het vrije geheugen te berekenen (kan ik namelijk niet vinden in het meminfo bestand) moet ik lijkt mij vrije geheugen van het totale geheugen afhalen. Aangezien het strings zijn lukt dat dus niet. Casting werkt ook niet ((int)$freemem). Voor het opvragen van de lopende processen heb ik werkelijk geen flauw idee. Punt is: bij mijn leraar hoef ik niet aan te kloppen tot volgende week dus daarom maar uitwijken naar een forum. Ik hoop dat iemand nu wel wil helpen en het niet ziet als een poging om huiswerk te verzuimen.

PHP:
function freemem(){

	$i=0;$z;
	
	$freemem = explode(" ", file_get_contents("/proc/meminfo"));
	
	while(!$z){
		if(strpos($freemem[$i], "MemFree") !== false){
			echo $freemem[$i+8];
			$z = true;
		}
		else{	
			$i>15 ? $z=true : $i++;
		}
	}
}
 
Laatst bewerkt:
Kijk eens naar deze functie:
Exec
Daarmee kun je commando's uit laten voeren direct op de shell waar PHP in draait, en kun je dus aan het OS vragen wat het geheugenverbruik e.d. is; waarschijnljik kun je een aantal van die andere dingen namelijk niet via PHP opvragen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan