Entwickler-Ecke
Sonstiges (FPC / Lazarus) / Linux API - Linux-API mit Lazarus ansprechen, aber wie?
Teekeks - Mi 08.07.09 11:18
Titel: Linux-API mit Lazarus ansprechen, aber wie?
Hallo!
Ich würde gerne einen System-Monitor für den Desktop programmieren.
Soweit die Theorie.
Jetzt stellt sich mir die frage: Ich muss ja die Linux-Api mit Lazarus irgendwie ansprechen um z.B. die aktuelle CPU-Auslastung raus zu bekommen. Da stellt sich mir die Frage: Wie mach ich das?
Und wie lauten die Befehle um solche Sachen wie CPU-Auslastung raus zu bekommen?
Ich konnte auch mit Google keine rechten Ergebnisse finden...
Ich wäre sehr froh wenn ihr mir einen Anstoß (z.B. Link) oder (was ich natürlich auch seehr gut fände) sogar ein kleines Beispiel...
Gruß Teekeks
Teekeks - Fr 10.07.09 07:04
*push* Hat keiner eine Idee?
enyaw_ecurb - Fr 10.07.09 22:21
Wenn du die von Lazarus (oder eher von FreePascal) unterstützten Funktionen der Linux-Api suchst, ist die manual zur RTL von Freepascal recht nützlich. Da findest du z.B. die Beschreibung der Funktion Sysinfo in der unit Linux. Das ist wahrscheinlich das, was du brauchst: durchschnittliche cpu-Last, belegter Speicher, freier Speicher, etc. Ansonsten kannst du die gewünschten Daten aus /proc/stat oder /proc/loadavg auslesen.
Allerdings wirst du so etwas wie "aktuelle" cpu-last nicht finden, da die Auslastung des Prozessors immer nur über einen (kleinen) Zeitraum gemittelt werden kann. So bekommst du z.B. über Sysinfo die cpu-Last der letzten Minute. Wenn du die im Sekundentakt abfragst, kannst du daraus aber die durchschnittliche cpu-Last der letzten Sekunde ermitteln - So scheint es zumindest conky bei einem kurzen Blick auf den source-code zu machen.
Hoffe das hat dir weitergeholfen und noch viel Glück bei deinem Projekt!
Teekeks - Sa 11.07.09 08:25
Hallo!
Du hast mir schon sehr geholfen!
Ich werde mich mal zu den von dir gennanten Themen belesen...
Gruß Teekeks
Teekeks - Sa 11.07.09 09:21
Ich habe noch eine frage:
Ich habe nicht herrausbekommen ob z.B. freeram in Bytes, MB oder KB zurückgibt...
Hast du da eine ahnung?
Weil:
Ich habe 2,5 Gb RAM.
Jetzt bekomme ich bei totalRAM die Zahl 648839 zurück.
Aber das kann doch eigentlich auf garkeinen fall Hinhauen, oder?
gruß Teekeks
Teekeks - So 12.07.09 17:52
Ich habe das Problem jetzt gelößt.
Man muss die Werte mit mem_unit multiplizieren...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!