Hi,
der Systemaufruf heißt sysinfo und nicht sys_sysinfo. Du kannst ihn einfach verwenden, wenn du den Header sys/sysinfo.h mit einbindest.
Es gibt natürlich auch eine man Page zu dem Kommando: man sysinfo
Auch Vorsicht ist bei deiner Deklaration der Struktur s geboten. Du deklarierst nur den Zeiger darauf, hast dadurch aber noch keinen Speicherplatz wo die Struktur überhaupt abgelegt wird. Da der Zeiger nicht initialisiert wird, wirst du so einen Segmentation Fault bekommen.
Folgendes Programm zeigt dir wie man sysinfo verwendet:
Code:
#include <sys/sysinfo.h>
#include <stdio.h>
#include <errno.h>
int main()
{
struct sysinfo sysi;
if (sysinfo(&sysi) != 0)
printf("sysinfo erfolglos: errno: %s\n", strerror(errno));
else {
printf("Totel ram: %d\n", sysi.totalram);
printf("Free ram: %d\n", sysi.freeram);
}
return 0;
}
Die einzelnen Elemente der Struktur sysinfo kannst du in der sysinfo man page nachlesen.
Übersetzt wird das Programm einfach mit:
gcc -o test test.c
Gruß
almoeli
Lesezeichen